+ for(const ShadowedLight &l: lights)
+ {
+ string base = format("shadows[%d]", l.index);
+ if(l.type==DIRECTIONAL)
+ shdata.uniform(base+".bias", depth_bias/l.region.width);
+ }
+
+ vector<Matrix> shadow_matrices;
+ shadow_matrices.reserve(views.size());
+ for(ShadowView &v: views)