|
@@ -135,7 +135,10 @@ class CascadeShadowMap extends DirShadowMap {
|
|
|
var invD0 = 1 / d0;
|
|
|
var zDist0 = cascadeBounds0.zMax - cascadeBounds0.zMin;
|
|
|
|
|
|
- var depthBiasFactor = (params[0] != null ) ? params[0].depthBias : 1.0;
|
|
|
+ inline function getBias( i : Int ) {
|
|
|
+ var depthBiasFactor = (params[i] != null ) ? params[i].depthBias : 1.0;
|
|
|
+ return 0.00000190734 * depthBiasFactor; // 2^-19 depth offset;
|
|
|
+ }
|
|
|
|
|
|
var proj = tmpProj;
|
|
|
proj.zero();
|
|
@@ -144,7 +147,6 @@ class CascadeShadowMap extends DirShadowMap {
|
|
|
proj._33 = 1 / (zDist0);
|
|
|
proj._41 = 0.5;
|
|
|
proj._42 = 0.5;
|
|
|
- proj._43 = 0.00000190734 * depthBiasFactor; // 2^-19 depth offset;
|
|
|
proj._44 = 1;
|
|
|
|
|
|
cascadeViewProj.multiply(view, proj);
|
|
@@ -154,6 +156,7 @@ class CascadeShadowMap extends DirShadowMap {
|
|
|
proj._22 = invD02;
|
|
|
proj._41 = 0;
|
|
|
proj._42 = 0;
|
|
|
+ proj._43 = getBias(0);
|
|
|
|
|
|
lightCameras[0].viewProj.multiply(view, proj);
|
|
|
|
|
@@ -190,12 +193,10 @@ class CascadeShadowMap extends DirShadowMap {
|
|
|
proj.zero();
|
|
|
var invD2 = 2.0 * invD;
|
|
|
|
|
|
- var depthBiasFactor = (params[i] != null ) ? params[i].depthBias : 1.0;
|
|
|
-
|
|
|
proj._11 = invD2;
|
|
|
proj._22 = invD2;
|
|
|
proj._33 = invZDist;
|
|
|
- proj._43 = 0.0000190734 * depthBiasFactor; // 2^-19 depth offset;
|
|
|
+ proj._43 = getBias(i);
|
|
|
proj._44 = 1;
|
|
|
|
|
|
lightCameras[i].viewProj.multiply(view, proj);
|