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-28 15:09:48 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2018-06-28 15:39:15 +0300
commit2b4c7600b763f252a0e7f54d80cd8e3005871f5e (patch)
tree7b3e6ea752f40f9f2dd3ff3027ed791a7a6e28ea /source/blender/draw/engines/workbench/workbench_private.h
parentdaa47e5e80d276dff74d27c6675f29c8e3e1ed76 (diff)
Workbench: Anti-aliasing refactor
- TAA is also enabled for Forward rendering - Uses less GPU memory (removed one history buffer) - TAA is done after the color management - consolidated the aa code between forward and deferred rendering (workbench_effects_aa.c)
Diffstat (limited to 'source/blender/draw/engines/workbench/workbench_private.h')
-rw-r--r--source/blender/draw/engines/workbench/workbench_private.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_private.h b/source/blender/draw/engines/workbench/workbench_private.h
index 5f938b8f0b2..5eb7631104d 100644
--- a/source/blender/draw/engines/workbench/workbench_private.h
+++ b/source/blender/draw/engines/workbench/workbench_private.h
@@ -69,8 +69,7 @@ typedef struct WORKBENCH_FramebufferList {
struct GPUFrameBuffer *composite_fb;
struct GPUFrameBuffer *effect_fb;
- struct GPUFrameBuffer *effect_taa_even_fb;
- struct GPUFrameBuffer *effect_taa_uneven_fb;
+ struct GPUFrameBuffer *effect_taa_fb;
struct GPUFrameBuffer *depth_buffer_fb;
/* Forward render buffers */
@@ -80,8 +79,7 @@ typedef struct WORKBENCH_FramebufferList {
} WORKBENCH_FramebufferList;
typedef struct WORKBENCH_TextureList {
- struct GPUTexture *history_buffer1_tx;
- struct GPUTexture *history_buffer2_tx;
+ struct GPUTexture *history_buffer_tx;
struct GPUTexture *depth_buffer_tx;
} WORKBENCH_TextureList;
@@ -195,10 +193,6 @@ typedef struct WORKBENCH_EffectInfo {
int jitter_index;
float taa_mix_factor;
bool view_updated;
-
- /* The TX that holds the last color data */
- struct GPUTexture *final_color_tx;
- struct GPUFrameBuffer *final_color_fb;
} WORKBENCH_EffectInfo;
typedef struct WORKBENCH_MaterialData {
@@ -258,11 +252,14 @@ void workbench_forward_cache_init(WORKBENCH_Data *vedata);
void workbench_forward_cache_populate(WORKBENCH_Data *vedata, Object *ob);
void workbench_forward_cache_finish(WORKBENCH_Data *vedata);
+/* workbench_effect_aa.c */
+void workbench_aa_create_pass(WORKBENCH_Data *vedata, GPUTexture **tx);
+void workbench_aa_draw_pass(WORKBENCH_Data *vedata, GPUTexture *tx);
+
/* workbench_effect_fxaa.c */
void workbench_fxaa_engine_init(void);
void workbench_fxaa_engine_free(void);
DRWPass *workbench_fxaa_create_pass(GPUTexture **color_buffer_tx);
-void workbench_fxaa_draw_pass(WORKBENCH_PrivateData *wpd, GPUFrameBuffer *fb, GPUTexture *tx, DRWPass *effect_aa_pass);
/* workbench_effect_taa.c */
void workbench_taa_engine_init(WORKBENCH_Data *vedata);