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:
@@ -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;
|
||||
|
||||
@@ -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. */
|
||||
|
||||
Reference in New Issue
Block a user