@@ -1259,7 +1259,7 @@ float SchlickFresnel(float u) {
12591259 return m2 * m2 * m; // pow(m,5)
12601260}
12611261
1262- void light_compute(vec3 N, vec3 L, vec3 V, float A, vec3 light_color, bool is_directional, float attenuation, vec3 f0, float roughness, float metallic, float specular_amount, vec3 albedo, inout float alpha,
1262+ void light_compute(vec3 N, vec3 L, vec3 V, float A, vec3 light_color, bool is_directional, float attenuation, vec3 f0, float roughness, float metallic, float specular_amount, vec3 albedo, inout float alpha, vec2 screen_uv,
12631263#ifdef LIGHT_BACKLIGHT_USED
12641264 vec3 backlight,
12651265#endif
@@ -1423,7 +1423,7 @@ float get_omni_spot_attenuation(float distance, float inv_range, float decay) {
14231423}
14241424
14251425#if ! defined(DISABLE_LIGHT_OMNI) || defined(ADDITIVE_OMNI)
1426- void light_process_omni(uint idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 f0, float roughness, float metallic, float shadow, vec3 albedo, inout float alpha,
1426+ void light_process_omni(uint idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 f0, float roughness, float metallic, float shadow, vec3 albedo, inout float alpha, vec2 screen_uv,
14271427#ifdef LIGHT_BACKLIGHT_USED
14281428 vec3 backlight,
14291429#endif
@@ -1450,7 +1450,7 @@ void light_process_omni(uint idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 f
14501450
14511451 omni_attenuation *= shadow;
14521452
1453- light_compute(normal, normalize (light_rel_vec), eye_vec, size_A, color, false, omni_attenuation, f0, roughness, metallic, omni_lights[idx].specular_amount, albedo, alpha,
1453+ light_compute(normal, normalize (light_rel_vec), eye_vec, size_A, color, false, omni_attenuation, f0, roughness, metallic, omni_lights[idx].specular_amount, albedo, alpha, screen_uv,
14541454#ifdef LIGHT_BACKLIGHT_USED
14551455 backlight,
14561456#endif
@@ -1469,7 +1469,7 @@ void light_process_omni(uint idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 f
14691469#endif // !DISABLE_LIGHT_OMNI
14701470
14711471#if ! defined(DISABLE_LIGHT_SPOT) || defined(ADDITIVE_SPOT)
1472- void light_process_spot(uint idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 f0, float roughness, float metallic, float shadow, vec3 albedo, inout float alpha,
1472+ void light_process_spot(uint idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 f0, float roughness, float metallic, float shadow, vec3 albedo, inout float alpha, vec2 screen_uv,
14731473#ifdef LIGHT_BACKLIGHT_USED
14741474 vec3 backlight,
14751475#endif
@@ -1506,7 +1506,7 @@ void light_process_spot(uint idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 f
15061506
15071507 spot_attenuation *= shadow;
15081508
1509- light_compute(normal, normalize (light_rel_vec), eye_vec, size_A, color, false, spot_attenuation, f0, roughness, metallic, spot_lights[idx].specular_amount, albedo, alpha,
1509+ light_compute(normal, normalize (light_rel_vec), eye_vec, size_A, color, false, spot_attenuation, f0, roughness, metallic, spot_lights[idx].specular_amount, albedo, alpha, screen_uv,
15101510#ifdef LIGHT_BACKLIGHT_USED
15111511 backlight,
15121512#endif
@@ -2114,7 +2114,7 @@ void main() {
21142114 continue ;
21152115 }
21162116#endif
2117- light_compute(normal, normalize (directional_lights[i].direction), normalize (view), directional_lights[i].size, directional_lights[i].color * directional_lights[i].energy, true, 1.0 , f0, roughness, metallic, 1.0 , albedo, alpha,
2117+ light_compute(normal, normalize (directional_lights[i].direction), normalize (view), directional_lights[i].size, directional_lights[i].color * directional_lights[i].energy, true, 1.0 , f0, roughness, metallic, 1.0 , albedo, alpha, screen_uv,
21182118#ifdef LIGHT_BACKLIGHT_USED
21192119 backlight,
21202120#endif
@@ -2143,7 +2143,7 @@ void main() {
21432143 continue ;
21442144 }
21452145#endif
2146- light_process_omni(omni_light_indices[i], vertex, view, normal, f0, roughness, metallic, 1.0 , albedo, alpha,
2146+ light_process_omni(omni_light_indices[i], vertex, view, normal, f0, roughness, metallic, 1.0 , albedo, alpha, screen_uv,
21472147#ifdef LIGHT_BACKLIGHT_USED
21482148 backlight,
21492149#endif
@@ -2171,7 +2171,7 @@ void main() {
21712171 continue ;
21722172 }
21732173#endif
2174- light_process_spot(spot_light_indices[i], vertex, view, normal, f0, roughness, metallic, 1.0 , albedo, alpha,
2174+ light_process_spot(spot_light_indices[i], vertex, view, normal, f0, roughness, metallic, 1.0 , albedo, alpha, screen_uv,
21752175#ifdef LIGHT_BACKLIGHT_USED
21762176 backlight,
21772177#endif
@@ -2389,7 +2389,7 @@ void main() {
23892389#endif // SHADOWS_DISABLED
23902390
23912391#ifndef USE_VERTEX_LIGHTING
2392- light_compute(normal, normalize (directional_lights[directional_shadow_index].direction), normalize (view), directional_lights[directional_shadow_index].size, directional_lights[directional_shadow_index].color * directional_lights[directional_shadow_index].energy, true, directional_shadow, f0, roughness, metallic, 1.0 , albedo, alpha,
2392+ light_compute(normal, normalize (directional_lights[directional_shadow_index].direction), normalize (view), directional_lights[directional_shadow_index].size, directional_lights[directional_shadow_index].color * directional_lights[directional_shadow_index].energy, true, directional_shadow, f0, roughness, metallic, 1.0 , albedo, alpha, screen_uv,
23932393#ifdef LIGHT_BACKLIGHT_USED
23942394 backlight,
23952395#endif
@@ -2421,7 +2421,7 @@ void main() {
24212421#endif // SHADOWS_DISABLED
24222422
24232423#ifndef USE_VERTEX_LIGHTING
2424- light_process_omni(omni_light_index, vertex, view, normal, f0, roughness, metallic, omni_shadow, albedo, alpha,
2424+ light_process_omni(omni_light_index, vertex, view, normal, f0, roughness, metallic, omni_shadow, albedo, alpha, screen_uv,
24252425#ifdef LIGHT_BACKLIGHT_USED
24262426 backlight,
24272427#endif
@@ -2451,7 +2451,7 @@ void main() {
24512451#endif // SHADOWS_DISABLED
24522452
24532453#ifndef USE_VERTEX_LIGHTING
2454- light_process_spot(spot_light_index, vertex, view, normal, f0, roughness, metallic, spot_shadow, albedo, alpha,
2454+ light_process_spot(spot_light_index, vertex, view, normal, f0, roughness, metallic, spot_shadow, albedo, alpha, screen_uv,
24552455#ifdef LIGHT_BACKLIGHT_USED
24562456 backlight,
24572457#endif
0 commit comments