Bläddra i källkod

Merge pull request #17691 from mrdoob/shadowmap

WebGLShadowMap: Fixed InstancedMesh support.
Mr.doob 5 år sedan
förälder
incheckning
b8f10f5896
1 ändrade filer med 7 tillägg och 5 borttagningar
  1. 7 5
      src/renderers/webgl/WebGLShadowMap.js

+ 7 - 5
src/renderers/webgl/WebGLShadowMap.js

@@ -229,9 +229,9 @@ function WebGLShadowMap( _renderer, _objects, maxTextureSize ) {
 
 	}
 
-	function getDepthMaterialVariant( useMorphing, useSkinning ) {
+	function getDepthMaterialVariant( useMorphing, useSkinning, useInstancing ) {
 
-		var index = useMorphing << 0 | useSkinning << 1;
+		var index = useMorphing << 0 | useSkinning << 1 | useInstancing << 2;
 
 		var material = _depthMaterials[ index ];
 
@@ -254,9 +254,9 @@ function WebGLShadowMap( _renderer, _objects, maxTextureSize ) {
 
 	}
 
-	function getDistanceMaterialVariant( useMorphing, useSkinning ) {
+	function getDistanceMaterialVariant( useMorphing, useSkinning, useInstancing ) {
 
-		var index = useMorphing << 0 | useSkinning << 1;
+		var index = useMorphing << 0 | useSkinning << 1 | useInstancing << 2;
 
 		var material = _distanceMaterials[ index ];
 
@@ -327,7 +327,9 @@ function WebGLShadowMap( _renderer, _objects, maxTextureSize ) {
 
 			}
 
-			result = getMaterialVariant( useMorphing, useSkinning );
+			var useInstancing = object.isInstancedMesh === true;
+
+			result = getMaterialVariant( useMorphing, useSkinning, useInstancing );
 
 		} else {