Fix: EEVEE-Next: Make irradiance baking use world probe

The texture and ubo weren't using references. So they could
be referenced before creation.

The ray direction was also inverted.
This commit is contained in:
Clément Foucault
2023-07-19 16:37:36 +02:00
parent 46d60aacd8
commit 7f905a0b06
2 changed files with 6 additions and 6 deletions

View File

@@ -129,8 +129,8 @@ class ReflectionProbeModule {
template<typename T> void bind_resources(draw::detail::PassBase<T> *pass)
{
pass->bind_texture(REFLECTION_PROBE_TEX_SLOT, probes_tx_);
pass->bind_ubo(REFLECTION_PROBE_BUF_SLOT, data_buf_);
pass->bind_texture(REFLECTION_PROBE_TEX_SLOT, &probes_tx_);
pass->bind_ubo(REFLECTION_PROBE_BUF_SLOT, &data_buf_);
}
bool do_world_update_get() const;

View File

@@ -94,8 +94,8 @@ void main()
irradiance_capture(surfel, P, sh);
}
else {
vec3 world_radiance = irradiance_sky_sample(sky_L);
irradiance_capture(sky_L, world_radiance, sh);
vec3 world_radiance = irradiance_sky_sample(-sky_L);
irradiance_capture(-sky_L, world_radiance, sh);
}
if (surfel_prev > -1) {
@@ -103,8 +103,8 @@ void main()
irradiance_capture(surfel, P, sh);
}
else {
vec3 world_radiance = irradiance_sky_sample(-sky_L);
irradiance_capture(-sky_L, world_radiance, sh);
vec3 world_radiance = irradiance_sky_sample(sky_L);
irradiance_capture(sky_L, world_radiance, sh);
}
/* Normalize for storage. We accumulated 2 samples. */