Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2022-03-03 23:16:54 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-03-03 23:16:54 +0300
commit58e2ec18ae58918017170c915e7587759f322779 (patch)
tree8f646ae8a0d73d7cec6840e888d9095e3df3d576 /source/blender/draw/engines/eevee/eevee_light.cc
parentfbf4d8f8b5c60313a6ec15c7bd23e12f34b98878 (diff)
EEVEE: Deferred: Large refactor
This changes drastically the implementation to leverage arbitrary writes in order to reduce complexity, memory usage and increase speed. Since we are no longer dependent on the framebuffer requirement, we can allocate bigger size texture that fits all views and avoid the extra. Transparency, holdout and emissions are no longer deferred and are now composited using dual source blending. The indirect lighting and raytracing is still not functional but will also gets a large refactor on its own
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_light.cc')
-rw-r--r--source/blender/draw/engines/eevee/eevee_light.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_light.cc b/source/blender/draw/engines/eevee/eevee_light.cc
index a75417ac0b7..fa7b5812d17 100644
--- a/source/blender/draw/engines/eevee/eevee_light.cc
+++ b/source/blender/draw/engines/eevee/eevee_light.cc
@@ -393,7 +393,7 @@ void LightModule::debug_end_sync(void)
DRW_shgroup_storage_block_ref(grp, "lights_cull_buf", &culling_data);
DRW_shgroup_storage_block_ref(grp, "lights_zbin_buf", &culling_zbin_buf);
DRW_shgroup_storage_block_ref(grp, "lights_tile_buf", &culling_tile_buf);
- DRW_shgroup_uniform_texture_ref(grp, "depth_tx", &input_depth_tx_);
+ DRW_shgroup_uniform_texture_ref(grp, "hiz_tx", inst_.hiz_front.texture_ref_get());
DRW_shgroup_call_procedural_triangles(grp, nullptr, 1);
}
@@ -444,13 +444,11 @@ void LightModule::set_view(const DRWView *view,
DRW_draw_pass(culling_ps_);
}
-void LightModule::debug_draw(GPUFrameBuffer *view_fb, HiZBuffer &hiz)
+void LightModule::debug_draw(GPUFrameBuffer *view_fb)
{
if (debug_draw_ps_ == nullptr) {
return;
}
- input_depth_tx_ = hiz.texture_get();
-
GPU_framebuffer_bind(view_fb);
DRW_draw_pass(debug_draw_ps_);
}