layout(constant_id=auto) const bool use_fog = false;
#pragma MSP stage(fragment)
-vec4 get_diffuse_color()
+virtual vec4 get_diffuse_color()
{
if(use_diffuse_map)
return texture(diffuse_map, texcoord.xy);
return basic_material.diffuse;
}
-vec3 get_specular_color()
+virtual vec3 get_specular_color()
{
if(use_specular_map)
return texture(specular_map, texcoord.xy).rgb;
return basic_material.specular.rgb;
}
-float get_shininess_value()
+virtual float get_shininess_value()
{
if(use_shininess_map)
return texture(shininess_map, texcoord.xy).r*255.0;
return basic_material.shininess;
}
-vec3 get_emission_color()
+virtual vec3 get_emission_color()
{
if(use_emission_map)
return texture(emission_map, texcoord.xy).rgb;
return basic_material.emission.rgb;
}
-float get_reflectivity_value()
+virtual float get_reflectivity_value()
{
if(use_reflectivity_map)
return texture(reflectivity_map, texcoord.xy).r;