diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-04-30 23:23:54 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-05-01 13:09:18 +0300 |
commit | e66629c128258a325ef7d898fb352e3d2552bbcb (patch) | |
tree | 1594b47733dab7e81bf6841549c591df5d4e550c /source/blender/draw/engines/eevee/eevee_private.h | |
parent | b581f1929287381fe9c2761dc514d5bfa7cbe41c (diff) |
Eevee: Lookdev: Cleanup implementation & support for Bloom and TAA
Make Lookdev works with bloom and TAA by rendering it before TAA and fixing
the motion vectors of the lookdev balls.
Rework Lookdev to remove much of its complexity. Use simpler matrices with
more understandable setup code.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_private.h')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_private.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h index b2aeffb0d1a..c3cd25923b2 100644 --- a/source/blender/draw/engines/eevee/eevee_private.h +++ b/source/blender/draw/engines/eevee/eevee_private.h @@ -276,7 +276,8 @@ typedef struct EEVEE_PassList { struct DRWPass *transparent_pass; struct DRWPass *background_pass; struct DRWPass *update_noise_pass; - struct DRWPass *lookdev_pass; + struct DRWPass *lookdev_glossy_pass; + struct DRWPass *lookdev_diffuse_pass; } EEVEE_PassList; typedef struct EEVEE_FramebufferList { @@ -605,6 +606,9 @@ typedef struct EEVEE_EffectsInfo { float color_checker_light[4]; /* Other */ float prev_persmat[4][4]; + /* Lookdev */ + int ball_size; + int anchor[2]; /* Bloom */ int bloom_iteration_len; float source_texel_size[2]; @@ -1049,6 +1053,9 @@ void EEVEE_mist_free(void); /* eevee_temporal_sampling.c */ void EEVEE_temporal_sampling_reset(EEVEE_Data *vedata); int EEVEE_temporal_sampling_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata); +void EEVEE_temporal_sampling_offset_calc(const double ht_point[2], + const float filter_size, + float r_offset[2]); void EEVEE_temporal_sampling_matrices_calc(EEVEE_EffectsInfo *effects, float viewmat[4][4], float persmat[4][4], @@ -1105,7 +1112,7 @@ void EEVEE_lookdev_cache_init(EEVEE_Data *vedata, float background_alpha, struct World *world, EEVEE_LightProbesInfo *pinfo); -void EEVEE_lookdev_draw_background(EEVEE_Data *vedata); +void EEVEE_lookdev_draw(EEVEE_Data *vedata); /** eevee_engine.c */ void EEVEE_cache_populate(void *vedata, Object *ob); |