 		N = normalize(var_Normal);
 	}
 
-	vec3 specular = vec3(0.0);
+	vec3 specBase = vec3(0.0);
+	vec3 specMult = vec3(0.0);
 
 #endif // USE_NORMAL_MAPPING
 


	// 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


	// compute final color
	vec4 color = diffuse;
	color.rgb *= light;
	color.rgb += specBase * specMult;
#if defined(r_RimLighting)
	color.rgb += 0.7 * emission;
#endif

	// convert normal to [0,1] color space
