|
@@ -217,23 +217,23 @@ R"(#version 150
|
|
out vec4 outColor;
|
|
out vec4 outColor;
|
|
void main()
|
|
void main()
|
|
{
|
|
{
|
|
- vec3 Ia = La * vec3(Kai); // ambient intensity
|
|
|
|
-
|
|
|
|
- vec3 vector_to_light_eye = light_position_eye - position_eye;
|
|
|
|
- vec3 direction_to_light_eye = normalize (vector_to_light_eye);
|
|
|
|
- float dot_prod = dot (direction_to_light_eye, normalize(normal_eye));
|
|
|
|
- float clamped_dot_prod = max (dot_prod, 0.0);
|
|
|
|
- vec3 Id = Ld * vec3(Kdi) * clamped_dot_prod; // Diffuse intensity
|
|
|
|
-
|
|
|
|
- vec3 reflection_eye = reflect (-direction_to_light_eye, normalize(normal_eye));
|
|
|
|
- vec3 surface_to_viewer_eye = normalize (-position_eye);
|
|
|
|
- float dot_prod_specular = dot (reflection_eye, surface_to_viewer_eye);
|
|
|
|
- dot_prod_specular = float(abs(dot_prod)==dot_prod) * max (dot_prod_specular, 0.0);
|
|
|
|
- float specular_factor = pow (dot_prod_specular, specular_exponent);
|
|
|
|
- vec3 Is = Ls * vec3(Ksi) * specular_factor; // specular intensity
|
|
|
|
- vec4 color = vec4(lighting_factor * (Is + Id) + Ia + (1.0-lighting_factor) * vec3(Kdi),(Kai.a+Ksi.a+Kdi.a)/3);
|
|
|
|
- outColor = mix(vec4(1,1,1,1), texture(tex, texcoordi), texture_factor) * color;
|
|
|
|
- if (fixed_color != vec4(0.0)) outColor = fixed_color;
|
|
|
|
|
|
+ vec3 Ia = La * vec3(Kai); // ambient intensity
|
|
|
|
+
|
|
|
|
+ vec3 vector_to_light_eye = light_position_eye - position_eye;
|
|
|
|
+ vec3 direction_to_light_eye = normalize (vector_to_light_eye);
|
|
|
|
+ float dot_prod = dot (direction_to_light_eye, normalize(normal_eye));
|
|
|
|
+ float clamped_dot_prod = max (dot_prod, 0.0);
|
|
|
|
+ vec3 Id = Ld * vec3(Kdi) * clamped_dot_prod; // Diffuse intensity
|
|
|
|
+
|
|
|
|
+ vec3 reflection_eye = reflect (-direction_to_light_eye, normalize(normal_eye));
|
|
|
|
+ vec3 surface_to_viewer_eye = normalize (-position_eye);
|
|
|
|
+ float dot_prod_specular = dot (reflection_eye, surface_to_viewer_eye);
|
|
|
|
+ dot_prod_specular = float(abs(dot_prod)==dot_prod) * max (dot_prod_specular, 0.0);
|
|
|
|
+ float specular_factor = pow (dot_prod_specular, specular_exponent);
|
|
|
|
+ vec3 Is = Ls * vec3(Ksi) * specular_factor; // specular intensity
|
|
|
|
+ vec4 color = vec4(lighting_factor * (Is + Id) + Ia + (1.0-lighting_factor) * vec3(Kdi),(Kai.a+Ksi.a+Kdi.a)/3);
|
|
|
|
+ outColor = mix(vec4(1,1,1,1), texture(tex, texcoordi), texture_factor) * color;
|
|
|
|
+ if (fixed_color != vec4(0.0)) outColor = fixed_color;
|
|
}
|
|
}
|
|
)";
|
|
)";
|
|
|
|
|