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:
authorJeroen Bakker <jbakker>2020-10-21 09:09:52 +0300
committerJeroen Bakker <jeroen@blender.org>2020-10-21 09:14:21 +0300
commite60bc528f0f936d64abdc261df961f60e919facb (patch)
treec7e178ffdd90dc35b70697a3c0fd7c10b58d79b9 /source/blender/render
parent1ad100d5568ca3ec265215337e06bffce21e5fa4 (diff)
DrawManager: Adding Custom Render Passes
Currently render passes in the draw manager (eevee) must be predefined in the render result. This patch would ask the render engine for the render passes it needs, and create these as a preparation step during rendering. This allows any draw engine to define more complex render passes setup. Render passes can only be added before the call to `RE_engine_begin_result`. `RE_engine_begin_result` makes a full copy of the render passes. During rendering the render engines renders to the duplicated passes. `RE_engine_end_result` syncs the data back to the original render passes, but only if the passes existed in the original render result. Currently we work-around this issue by registering the passes in `render_result_new`. This is legacy blender internal structure and should be avoided. With upcoming projects (AOV/Cryptomatte) it becomes a bit of a mess as we are extending legacy code to support new features. This patch allows us to let each draw engine register their own render passes at render time (similar to cycles and other render engines). In the future we could get rid of legacy render passes registration in render_result_new. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D9088
Diffstat (limited to 'source/blender/render')
-rw-r--r--source/blender/render/intern/source/render_result.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c
index d2f21ab035c..db75cb5cfed 100644
--- a/source/blender/render/intern/source/render_result.c
+++ b/source/blender/render/intern/source/render_result.c
@@ -444,15 +444,6 @@ RenderResult *render_result_new(Render *re,
if (view_layer->passflag & SCE_PASS_SUBSURFACE_COLOR) {
RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_SUBSURFACE_COLOR, view, "RGB");
}
- if (view_layer->eevee.render_passes & EEVEE_RENDER_PASS_BLOOM) {
- RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_BLOOM, view, "RGB");
- }
- if (view_layer->eevee.render_passes & EEVEE_RENDER_PASS_VOLUME_SCATTER) {
- RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_VOLUME_SCATTER, view, "RGB");
- }
- if (view_layer->eevee.render_passes & EEVEE_RENDER_PASS_VOLUME_TRANSMITTANCE) {
- RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_VOLUME_TRANSMITTANCE, view, "RGB");
- }
#undef RENDER_LAYER_ADD_PASS_SAFE
}
}