 
 vec3 totalReflectedLight = vec3( 0.0 );
 
+var diffuse = diffuseColor.rgb;
+
 #ifdef METAL
 
-	diffuseColor.rgb = diffuseColor.rgb * specular;
+	diffuse *= specular;
 
 #endif
 

			float dotLH = saturate( dot( lightDir, halfDir ) );

			totalReflectedLight += (
				BRDF_Lambert( diffuseColor.rgb, dotNL ) +
				BRDF_BlinnPhong( specular, shininess, dotNH, dotLH )
				) * lightIntensity;


			float dotLH = saturate( dot( lightDir, halfDir ) );

			totalReflectedLight += (
				BRDF_Lambert( diffuse, dotNL ) +
				BRDF_BlinnPhong( specular, shininess, dotNH, dotLH )
				) * lightIntensity;

