1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00

Fix light range in voxel GI

This commit is contained in:
retrotails
2025-05-21 06:29:07 -04:00
parent 25a3c27c41
commit ba06234309
3 changed files with 16 additions and 6 deletions

View File

@@ -86,7 +86,7 @@ layout(push_constant, std430) uniform Params {
uint cell_offset;
uint cell_count;
float aniso_strength;
uint pad;
float cell_size;
}
params;
@@ -126,7 +126,8 @@ layout(push_constant, std430) uniform Params {
float dynamic_range;
bool on_mipmap;
float propagation;
float pad[3];
float cell_size;
float pad[2];
}
params;
@@ -209,7 +210,10 @@ bool compute_light_vector(uint light, vec3 pos, out float attenuation, out vec3
return false;
}
attenuation = get_omni_attenuation(distance, 1.0 / lights.data[light].radius, lights.data[light].attenuation);
attenuation = get_omni_attenuation(
distance * params.cell_size,
1.0 / (lights.data[light].radius * params.cell_size),
lights.data[light].attenuation);
if (lights.data[light].type == LIGHT_TYPE_SPOT) {
vec3 rel = normalize(pos - light_pos);