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 <j.bakker@atmind.nl>2018-06-15 15:05:49 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2018-06-15 15:05:49 +0300
commit5073ee0bb2797034115d83a6758699213e9588ad (patch)
tree3a98c71beba221735cd08d365488ed4804f38985 /source/blender/draw/engines/workbench/workbench_deferred.c
parent0276abbcf73cb45e5afe94d6f554efc104e9707f (diff)
Workbench: FXAA
- do the FXAA pass after the color management. Be aware that during rendering this is still being done in linear space
Diffstat (limited to 'source/blender/draw/engines/workbench/workbench_deferred.c')
-rw-r--r--source/blender/draw/engines/workbench/workbench_deferred.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c
index 4d89e7cd566..bfd5ea85fbc 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -427,7 +427,7 @@ void workbench_deferred_engine_init(WORKBENCH_Data *vedata)
{
psl->effect_fxaa_pass = DRW_pass_create("Effect FXAA", DRW_STATE_WRITE_COLOR);
DRWShadingGroup *grp = DRW_shgroup_create(e_data.effect_fxaa_sh, psl->effect_fxaa_pass);
- DRW_shgroup_uniform_texture_ref(grp, "colorBuffer", &e_data.composite_buffer_tx);
+ DRW_shgroup_uniform_texture_ref(grp, "colorBuffer", &e_data.effect_buffer_tx);
DRW_shgroup_uniform_vec2(grp, "invertedViewportSize", DRW_viewport_invert_size_get(), 1);
DRW_shgroup_call_add(grp, DRW_cache_fullscreen_quad_get(), NULL);
}
@@ -895,10 +895,13 @@ void workbench_deferred_draw_scene(WORKBENCH_Data *vedata)
if (FXAA_ENABLED(wpd)) {
GPU_framebuffer_bind(fbl->effect_fb);
- DRW_draw_pass(psl->effect_fxaa_pass);
+ DRW_transform_to_display(e_data.composite_buffer_tx);
+ /* TODO: when rendering the fxaa pass should be done in display space
+ Currently we do not support rendering in the workbench
+ */
GPU_framebuffer_bind(dfbl->color_only_fb);
- DRW_transform_to_display(e_data.effect_buffer_tx);
+ DRW_draw_pass(psl->effect_fxaa_pass);
}
else {
GPU_framebuffer_bind(dfbl->color_only_fb);