Skip to content

Commit f5a1ae8

Browse files
committed
lights_template: compute shadow only if color > 0
1 parent 3adb436 commit f5a1ae8

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/renderers/shaders/ShaderChunk/lights_template.glsl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ IncidentLight directLight;
3232
directLight = getPointDirectLight( pointLight, geometry );
3333

3434
#ifdef USE_SHADOWMAP
35-
directLight.color *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;
35+
directLight.color *= all( bvec2( pointLight.shadow, length( directLight.color ) > 0.0 ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;
3636
#endif
3737

3838
RE_Direct( directLight, geometry, material, reflectedLight );
@@ -52,7 +52,7 @@ IncidentLight directLight;
5252
directLight = getSpotDirectLight( spotLight, geometry );
5353

5454
#ifdef USE_SHADOWMAP
55-
directLight.color *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;
55+
directLight.color *= all( bvec2( spotLight.shadow, length( directLight.color ) > 0.0 ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;
5656
#endif
5757

5858
RE_Direct( directLight, geometry, material, reflectedLight );
@@ -72,7 +72,7 @@ IncidentLight directLight;
7272
directLight = getDirectionalDirectLight( directionalLight, geometry );
7373

7474
#ifdef USE_SHADOWMAP
75-
directLight.color *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
75+
directLight.color *= all( bvec2( directionalLight.shadow, length( directLight.color ) > 0.0 ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
7676
#endif
7777

7878
RE_Direct( directLight, geometry, material, reflectedLight );

0 commit comments

Comments
 (0)