|
@@ -1658,35 +1658,33 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
if ( materialProperties.program === undefined ) {
|
|
|
|
|
|
- material.needsUpdate = true;
|
|
|
+ initMaterial( material, scene, object );
|
|
|
|
|
|
} else if ( material.fog && materialProperties.fog !== fog ) {
|
|
|
|
|
|
- material.needsUpdate = true;
|
|
|
+ initMaterial( material, scene, object );
|
|
|
|
|
|
} else if ( materialProperties.environment !== environment ) {
|
|
|
|
|
|
- material.needsUpdate = true;
|
|
|
+ initMaterial( material, scene, object );
|
|
|
|
|
|
} else if ( materialProperties.needsLights && ( materialProperties.lightsStateVersion !== lights.state.version ) ) {
|
|
|
|
|
|
- material.needsUpdate = true;
|
|
|
+ initMaterial( material, scene, object );
|
|
|
|
|
|
} else if ( materialProperties.numClippingPlanes !== undefined &&
|
|
|
( materialProperties.numClippingPlanes !== _clipping.numPlanes ||
|
|
|
materialProperties.numIntersection !== _clipping.numIntersection ) ) {
|
|
|
|
|
|
- material.needsUpdate = true;
|
|
|
+ initMaterial( material, scene, object );
|
|
|
|
|
|
} else if ( materialProperties.outputEncoding !== _this.outputEncoding ) {
|
|
|
|
|
|
- material.needsUpdate = true;
|
|
|
+ initMaterial( material, scene, object );
|
|
|
|
|
|
}
|
|
|
|
|
|
- }
|
|
|
-
|
|
|
- if ( material.version !== materialProperties.__version ) {
|
|
|
+ } else {
|
|
|
|
|
|
initMaterial( material, scene, object );
|
|
|
materialProperties.__version = material.version;
|