|
@@ -28,7 +28,6 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
} else if ( material.isMeshLambertMaterial ) {
|
|
|
|
|
|
refreshUniformsCommon( uniforms, material );
|
|
|
- refreshUniformsLambert( uniforms, material );
|
|
|
|
|
|
} else if ( material.isMeshToonMaterial ) {
|
|
|
|
|
@@ -43,15 +42,12 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
} else if ( material.isMeshStandardMaterial ) {
|
|
|
|
|
|
refreshUniformsCommon( uniforms, material );
|
|
|
+ refreshUniformsStandard( uniforms, material );
|
|
|
|
|
|
if ( material.isMeshPhysicalMaterial ) {
|
|
|
|
|
|
refreshUniformsPhysical( uniforms, material, transmissionRenderTarget );
|
|
|
|
|
|
- } else {
|
|
|
-
|
|
|
- refreshUniformsStandard( uniforms, material );
|
|
|
-
|
|
|
}
|
|
|
|
|
|
} else if ( material.isMeshMatcapMaterial ) {
|
|
@@ -62,7 +58,6 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
} else if ( material.isMeshDepthMaterial ) {
|
|
|
|
|
|
refreshUniformsCommon( uniforms, material );
|
|
|
- refreshUniformsDepth( uniforms, material );
|
|
|
|
|
|
} else if ( material.isMeshDistanceMaterial ) {
|
|
|
|
|
@@ -72,7 +67,6 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
} else if ( material.isMeshNormalMaterial ) {
|
|
|
|
|
|
refreshUniformsCommon( uniforms, material );
|
|
|
- refreshUniformsNormal( uniforms, material );
|
|
|
|
|
|
} else if ( material.isLineBasicMaterial ) {
|
|
|
|
|
@@ -133,6 +127,36 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ if ( material.bumpMap ) {
|
|
|
+
|
|
|
+ uniforms.bumpMap.value = material.bumpMap;
|
|
|
+ uniforms.bumpScale.value = material.bumpScale;
|
|
|
+ if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if ( material.displacementMap ) {
|
|
|
+
|
|
|
+ uniforms.displacementMap.value = material.displacementMap;
|
|
|
+ uniforms.displacementScale.value = material.displacementScale;
|
|
|
+ uniforms.displacementBias.value = material.displacementBias;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if ( material.emissiveMap ) {
|
|
|
+
|
|
|
+ uniforms.emissiveMap.value = material.emissiveMap;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if ( material.normalMap ) {
|
|
|
+
|
|
|
+ uniforms.normalMap.value = material.normalMap;
|
|
|
+ uniforms.normalScale.value.copy( material.normalScale );
|
|
|
+ if ( material.side === BackSide ) uniforms.normalScale.value.negate();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
if ( material.specularMap ) {
|
|
|
|
|
|
uniforms.specularMap.value = material.specularMap;
|
|
@@ -451,51 +475,11 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- function refreshUniformsLambert( uniforms, material ) {
|
|
|
-
|
|
|
- if ( material.emissiveMap ) {
|
|
|
-
|
|
|
- uniforms.emissiveMap.value = material.emissiveMap;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
function refreshUniformsPhong( uniforms, material ) {
|
|
|
|
|
|
uniforms.specular.value.copy( material.specular );
|
|
|
uniforms.shininess.value = Math.max( material.shininess, 1e-4 ); // to prevent pow( 0.0, 0.0 )
|
|
|
|
|
|
- if ( material.emissiveMap ) {
|
|
|
-
|
|
|
- uniforms.emissiveMap.value = material.emissiveMap;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.bumpMap ) {
|
|
|
-
|
|
|
- uniforms.bumpMap.value = material.bumpMap;
|
|
|
- uniforms.bumpScale.value = material.bumpScale;
|
|
|
- if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.normalMap ) {
|
|
|
-
|
|
|
- uniforms.normalMap.value = material.normalMap;
|
|
|
- uniforms.normalScale.value.copy( material.normalScale );
|
|
|
- if ( material.side === BackSide ) uniforms.normalScale.value.negate();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.displacementMap ) {
|
|
|
-
|
|
|
- uniforms.displacementMap.value = material.displacementMap;
|
|
|
- uniforms.displacementScale.value = material.displacementScale;
|
|
|
- uniforms.displacementBias.value = material.displacementBias;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
|
|
|
function refreshUniformsToon( uniforms, material ) {
|
|
@@ -506,36 +490,6 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- if ( material.emissiveMap ) {
|
|
|
-
|
|
|
- uniforms.emissiveMap.value = material.emissiveMap;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.bumpMap ) {
|
|
|
-
|
|
|
- uniforms.bumpMap.value = material.bumpMap;
|
|
|
- uniforms.bumpScale.value = material.bumpScale;
|
|
|
- if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.normalMap ) {
|
|
|
-
|
|
|
- uniforms.normalMap.value = material.normalMap;
|
|
|
- uniforms.normalScale.value.copy( material.normalScale );
|
|
|
- if ( material.side === BackSide ) uniforms.normalScale.value.negate();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.displacementMap ) {
|
|
|
-
|
|
|
- uniforms.displacementMap.value = material.displacementMap;
|
|
|
- uniforms.displacementScale.value = material.displacementScale;
|
|
|
- uniforms.displacementBias.value = material.displacementBias;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
|
|
|
function refreshUniformsStandard( uniforms, material ) {
|
|
@@ -555,36 +509,6 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- if ( material.emissiveMap ) {
|
|
|
-
|
|
|
- uniforms.emissiveMap.value = material.emissiveMap;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.bumpMap ) {
|
|
|
-
|
|
|
- uniforms.bumpMap.value = material.bumpMap;
|
|
|
- uniforms.bumpScale.value = material.bumpScale;
|
|
|
- if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.normalMap ) {
|
|
|
-
|
|
|
- uniforms.normalMap.value = material.normalMap;
|
|
|
- uniforms.normalScale.value.copy( material.normalScale );
|
|
|
- if ( material.side === BackSide ) uniforms.normalScale.value.negate();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.displacementMap ) {
|
|
|
-
|
|
|
- uniforms.displacementMap.value = material.displacementMap;
|
|
|
- uniforms.displacementScale.value = material.displacementScale;
|
|
|
- uniforms.displacementBias.value = material.displacementBias;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
const envMap = properties.get( material ).envMap;
|
|
|
|
|
|
if ( envMap ) {
|
|
@@ -598,8 +522,6 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
|
|
|
function refreshUniformsPhysical( uniforms, material, transmissionRenderTarget ) {
|
|
|
|
|
|
- refreshUniformsStandard( uniforms, material );
|
|
|
-
|
|
|
uniforms.ior.value = material.ior; // also part of uniforms common
|
|
|
|
|
|
if ( material.sheen > 0 ) {
|
|
@@ -704,88 +626,16 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- if ( material.bumpMap ) {
|
|
|
-
|
|
|
- uniforms.bumpMap.value = material.bumpMap;
|
|
|
- uniforms.bumpScale.value = material.bumpScale;
|
|
|
- if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.normalMap ) {
|
|
|
-
|
|
|
- uniforms.normalMap.value = material.normalMap;
|
|
|
- uniforms.normalScale.value.copy( material.normalScale );
|
|
|
- if ( material.side === BackSide ) uniforms.normalScale.value.negate();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.displacementMap ) {
|
|
|
-
|
|
|
- uniforms.displacementMap.value = material.displacementMap;
|
|
|
- uniforms.displacementScale.value = material.displacementScale;
|
|
|
- uniforms.displacementBias.value = material.displacementBias;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- function refreshUniformsDepth( uniforms, material ) {
|
|
|
-
|
|
|
- if ( material.displacementMap ) {
|
|
|
-
|
|
|
- uniforms.displacementMap.value = material.displacementMap;
|
|
|
- uniforms.displacementScale.value = material.displacementScale;
|
|
|
- uniforms.displacementBias.value = material.displacementBias;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
|
|
|
function refreshUniformsDistance( uniforms, material ) {
|
|
|
|
|
|
- if ( material.displacementMap ) {
|
|
|
-
|
|
|
- uniforms.displacementMap.value = material.displacementMap;
|
|
|
- uniforms.displacementScale.value = material.displacementScale;
|
|
|
- uniforms.displacementBias.value = material.displacementBias;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
uniforms.referencePosition.value.copy( material.referencePosition );
|
|
|
uniforms.nearDistance.value = material.nearDistance;
|
|
|
uniforms.farDistance.value = material.farDistance;
|
|
|
|
|
|
}
|
|
|
|
|
|
- function refreshUniformsNormal( uniforms, material ) {
|
|
|
-
|
|
|
- if ( material.bumpMap ) {
|
|
|
-
|
|
|
- uniforms.bumpMap.value = material.bumpMap;
|
|
|
- uniforms.bumpScale.value = material.bumpScale;
|
|
|
- if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.normalMap ) {
|
|
|
-
|
|
|
- uniforms.normalMap.value = material.normalMap;
|
|
|
- uniforms.normalScale.value.copy( material.normalScale );
|
|
|
- if ( material.side === BackSide ) uniforms.normalScale.value.negate();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.displacementMap ) {
|
|
|
-
|
|
|
- uniforms.displacementMap.value = material.displacementMap;
|
|
|
- uniforms.displacementScale.value = material.displacementScale;
|
|
|
- uniforms.displacementBias.value = material.displacementBias;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
return {
|
|
|
refreshFogUniforms: refreshFogUniforms,
|
|
|
refreshMaterialUniforms: refreshMaterialUniforms
|