 	// compute the specular term
 #if defined(USE_REFLECTIVE_SPECULAR)
 
-	vec3 specular = texture2D(u_SpecularMap, texSpecular).rgb;
+	vec3 specBase = texture2D(u_SpecularMap, texSpecular).rgb;
 
 	vec4 envColor0 = textureCube(u_EnvironmentMap0, reflect(-V, N)).rgba;
 	vec4 envColor1 = textureCube(u_EnvironmentMap1, reflect(-V, N)).rgba;
 
-	specular *= mix(envColor0, envColor1, u_EnvironmentInterpolation).rgb;
+	specBase *= mix(envColor0, envColor1, u_EnvironmentInterpolation).rgb;
 
 	// Blinn-Phong
 	float NH = clamp(dot(N, H), 0, 1);
-	specular *= u_LightColor * pow(NH, r_SpecularExponent2) * r_SpecularScale;
+	vec3 specMult = u_LightColor * pow(NH, r_SpecularExponent2) * r_SpecularScale;
 
 #if 0
 	gl_FragColor = vec4(specular, 1.0);


	// simple Blinn-Phong
	float NH = clamp(dot(N, H), 0, 1);
	vec3 specular = texture2D(u_SpecularMap, texSpecular).rgb * u_LightColor * pow(NH, r_SpecularExponent) * r_SpecularScale;

#endif // USE_REFLECTIVE_SPECULAR


// add Rim Lighting to highlight the edges
#if defined(r_RimLighting)
	float rim = pow(1.0 - clamp(dot(N, V), 0, 1), r_RimExponent);
	specBase = mix(specBase, vec3(1.0), rim);
	vec3 emission = u_AmbientColor * rim * rim;

	// gl_FragColor = vec4(emission, 1.0);
	// return;
