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:
authorClément Foucault <foucault.clem@gmail.com>2019-04-30 23:23:54 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-05-01 13:09:18 +0300
commite66629c128258a325ef7d898fb352e3d2552bbcb (patch)
tree1594b47733dab7e81bf6841549c591df5d4e550c /source/blender/draw/engines/eevee/eevee_private.h
parentb581f1929287381fe9c2761dc514d5bfa7cbe41c (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.h11
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);