Fix clearcoat intensity for area lights
This commit is contained in:
1 parent
01603e77df
commit
5dac818f77
2 files changed
+2
-2
No files matched your search
@@ -1871,7 +1871,7 @@ void light_process_area(uint idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 f
|
||||
float cc_specular_ltc = 0.0;
|
||||
vec2 cc_fresnel = vec2(0.0);
|
||||
ltc_evaluate_specular(vertex_normal, eye_vec, sqrt(mix(0.001, 0.1, float(clearcoat_roughness))), points, ltc_lut1, ltc_lut2, cc_specular_ltc, cc_fresnel);
|
||||
float Fr = 0.04 * max(cc_fresnel.x, 0.0) + (1.0 - 0.04) * max(cc_fresnel.y, 0.0) * clearcoat;
|
||||
float Fr = (0.04 * max(cc_fresnel.x, 0.0) + (1.0 - 0.04) * max(cc_fresnel.y, 0.0)) * clearcoat;
|
||||
cc_attenuation = 1.0 - Fr;
|
||||
specular_light += cc_specular_ltc * Fr * light_color * light_attenuation_ltc * specular_amount;
|
||||
#endif // LIGHT_CLEARCOAT_USED
|
||||
|
||||
@@ -1265,7 +1265,7 @@ void light_process_area(uint idx, vec3 vertex, hvec3 eye_vec, hvec3 normal, vec3
|
||||
float cc_specular_ltc = 0.0;
|
||||
vec2 cc_fresnel;
|
||||
ltc_evaluate_specular(vec3(vertex_normal), vec3(eye_vec), sqrt(mix(0.001, 0.1, float(clearcoat_roughness))), points, area_lights.data[idx].projector_rect, max_mipmap, area_light_atlas, SAMPLER_LINEAR_WITH_MIPMAPS_CLAMP, ltc_lut1, ltc_lut2, cc_specular_ltc, cc_fresnel, cc_specular_tex_color);
|
||||
half Fr = half(0.04) * max(half(cc_fresnel.x), half(0.0)) + half(1.0 - 0.04) * max(half(cc_fresnel.y), half(0.0)) * clearcoat;
|
||||
half Fr = (half(0.04) * max(half(cc_fresnel.x), half(0.0)) + half(1.0 - 0.04) * max(half(cc_fresnel.y), half(0.0))) * clearcoat;
|
||||
cc_attenuation = half(1.0) - Fr;
|
||||
specular_light += half(cc_specular_ltc) * hvec3(cc_specular_tex_color) * Fr * color * light_attenuation_ltc * specular_amount;
|
||||
#endif // LIGHT_CLEARCOAT_USED
|
||||
|
||||
Reference in new issue
Block a user