Browse Source

WebGLShadowMaps: Add support for rendering shadows with displacement maps (#22287)

* Add support for rendering shadows with displacement maps

* set displacementBias
Garrett Johnson 3 years ago
parent
commit
6cca448b2a
1 changed files with 8 additions and 1 deletions
  1. 8 1
      src/renderers/webgl/WebGLShadowMap.js

+ 8 - 1
src/renderers/webgl/WebGLShadowMap.js

@@ -244,7 +244,10 @@ function WebGLShadowMap( _renderer, _objects, _capabilities ) {
 
 		if ( _renderer.localClippingEnabled &&
 				material.clipShadows === true &&
-				material.clippingPlanes.length !== 0 ) {
+				material.clippingPlanes.length !== 0 ||
+				material.displacementMap &&
+				material.displacementScale !== 0
+		) {
 
 			// in this case we need a unique material instance reflecting the
 			// appropriate state
@@ -290,6 +293,10 @@ function WebGLShadowMap( _renderer, _objects, _capabilities ) {
 		result.clippingPlanes = material.clippingPlanes;
 		result.clipIntersection = material.clipIntersection;
 
+		result.displacementMap = material.displacementMap;
+		result.displacementScale = material.displacementScale;
+		result.displacementBias = material.displacementBias;
+
 		result.wireframeLinewidth = material.wireframeLinewidth;
 		result.linewidth = material.linewidth;