 #endif
 
 #ifdef EMISSIVE_MAP
-  emissive *= vec3(texture2D(uEmissiveSampler, vUv));
+  emissive *= texture2D(uEmissiveSampler, vUv).rgb;
 #endif
 
 #ifdef DIFFUSE_MAP
-	diffuse *= texture2D(uDiffuseSampler, vUv, 0.0).rgb;
+	diffuse *= texture2D(uDiffuseSampler, vUv).rgb;
 #endif
 
 #ifdef SPECULAR_MAP
-	specular *= vec3(texture2D(uSpecularSampler, vUv));
+	specular *= texture2D(uSpecularSampler, vUv).rgb;
 #endif
 
 #ifdef REFLECTION

	diffuse *= textureCube(uEnvironmentSampler, refraction, 0.0).rgb;
#endif

  gl_FragColor = vec4(emissive + diffuse + specular, 1.0);
}

}
#endif

#ifdef VARIANCE_SHADOW_MAPPING
vec2 fixMomments()
{
	vec2 result;
	return result;
}

float varianceShadowMapping()
{
	return 1.0;
}
#endif

void main() {
	vec3 color;
	float shadowFactor = 1.0;
	vec3 emissive = uEmissive;
	vec3 diffuse = vec3(0.0, 0.0, 0.0);
	vec3 specular = vec3(0.0, 0.0, 0.0);
