Skip to content

Commit e655fc7

Browse files
authored
[Fix] Small code order changes to fix shadowmap camera setup (playcanvas#2975)
* [Fix] Small code order changes to fix shadowmap camera setup * lint
1 parent e889a84 commit e655fc7

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/scene/forward-renderer.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1572,12 +1572,6 @@ class ForwardRenderer {
15721572
this.device.pushMarker("SHADOW " + light._node.name);
15731573
// #endif
15741574

1575-
if (type !== LIGHTTYPE_OMNI) {
1576-
shadowCamView.setTRS(shadowCamNode.getPosition(), shadowCamNode.getRotation(), Vec3.ONE).invert();
1577-
shadowCamViewProj.mul2(shadowCam.projectionMatrix, shadowCamView);
1578-
light._shadowMatrix.mul2(scaleShift, shadowCamViewProj);
1579-
}
1580-
15811575
if (device.webgl2) {
15821576
if (type === LIGHTTYPE_OMNI) {
15831577
device.setDepthBias(false);
@@ -1597,7 +1591,9 @@ class ForwardRenderer {
15971591
}
15981592
}
15991593

1600-
if (light.shadowUpdateMode === SHADOWUPDATE_THISFRAME) light.shadowUpdateMode = SHADOWUPDATE_NONE;
1594+
if (light.shadowUpdateMode === SHADOWUPDATE_THISFRAME) {
1595+
light.shadowUpdateMode = SHADOWUPDATE_NONE;
1596+
}
16011597

16021598
this._shadowMapUpdates += passes;
16031599

@@ -1641,6 +1637,12 @@ class ForwardRenderer {
16411637
shadowCam.scissorRect = rect;
16421638
}
16431639

1640+
if (type !== LIGHTTYPE_OMNI) {
1641+
shadowCamView.setTRS(shadowCamNode.getPosition(), shadowCamNode.getRotation(), Vec3.ONE).invert();
1642+
shadowCamViewProj.mul2(shadowCam.projectionMatrix, shadowCamView);
1643+
light._shadowMatrix.mul2(scaleShift, shadowCamViewProj);
1644+
}
1645+
16441646
this.setCamera(shadowCam, shadowCam.renderTarget, true, passes === 1);
16451647

16461648
// Sort shadow casters

0 commit comments

Comments
 (0)