diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2018-06-15 15:05:49 +0300 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2018-06-15 15:05:49 +0300 |
commit | 5073ee0bb2797034115d83a6758699213e9588ad (patch) | |
tree | 3a98c71beba221735cd08d365488ed4804f38985 /source/blender/draw | |
parent | 0276abbcf73cb45e5afe94d6f554efc104e9707f (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')
-rw-r--r-- | source/blender/draw/engines/workbench/workbench_deferred.c | 9 |
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); |