浏览代码

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

* Add support for rendering shadows with displacement maps

* set displacementBias
Garrett Johnson 4 年之前
父节点
当前提交
6cca448b2a
共有 1 个文件被更改,包括 8 次插入1 次删除
  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 &&
 		if ( _renderer.localClippingEnabled &&
 				material.clipShadows === true &&
 				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
 			// in this case we need a unique material instance reflecting the
 			// appropriate state
 			// appropriate state
@@ -290,6 +293,10 @@ function WebGLShadowMap( _renderer, _objects, _capabilities ) {
 		result.clippingPlanes = material.clippingPlanes;
 		result.clippingPlanes = material.clippingPlanes;
 		result.clipIntersection = material.clipIntersection;
 		result.clipIntersection = material.clipIntersection;
 
 
+		result.displacementMap = material.displacementMap;
+		result.displacementScale = material.displacementScale;
+		result.displacementBias = material.displacementBias;
+
 		result.wireframeLinewidth = material.wireframeLinewidth;
 		result.wireframeLinewidth = material.wireframeLinewidth;
 		result.linewidth = material.linewidth;
 		result.linewidth = material.linewidth;