diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-04-20 19:18:33 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-04-20 19:29:33 +0300 |
commit | e2613e4051d501c8b553d781cb63d06735968f91 (patch) | |
tree | bed7313216d92c4c3093bf2b0ef6d8740705253c /source/blender/draw/engines/eevee/eevee_private.h | |
parent | 358dfe6ac9f22eb59302f5a04b14b75beadf064c (diff) |
Eevee: Add Velocity pass.
This pass create a velocity buffer which is basically a 2D motion vector
texture. This is not yet used for rendering but will be usefull for motion
blur and temporal reprojection.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_private.h')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_private.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h index f0ba458dcc8..07624100ea7 100644 --- a/source/blender/draw/engines/eevee/eevee_private.h +++ b/source/blender/draw/engines/eevee/eevee_private.h @@ -184,6 +184,7 @@ typedef struct EEVEE_PassList { struct DRWPass *sss_accum_ps; struct DRWPass *color_downsample_ps; struct DRWPass *color_downsample_cube_ps; + struct DRWPass *velocity_resolve; struct DRWPass *taa_resolve; /* HiZ */ @@ -235,6 +236,7 @@ typedef struct EEVEE_FramebufferList { struct GPUFrameBuffer *refract_fb; struct GPUFrameBuffer *mist_accum_fb; struct GPUFrameBuffer *ao_accum_fb; + struct GPUFrameBuffer *velocity_resolve_fb; struct GPUFrameBuffer *update_noise_fb; @@ -480,6 +482,7 @@ typedef enum EEVEE_EffectsFlag { EFFECT_POST_BUFFER = (1 << 9), /* Not really an effect but a feature */ EFFECT_NORMAL_BUFFER = (1 << 10), /* Not really an effect but a feature */ EFFECT_SSS = (1 << 11), + EFFECT_VELOCITY_BUFFER = (1 << 12), /* Not really an effect but a feature */ } EEVEE_EffectsFlag; typedef struct EEVEE_EffectsInfo { @@ -522,6 +525,10 @@ typedef struct EEVEE_EffectsInfo { float current_ndc_to_world[4][4]; float past_world_to_ndc[4][4]; int motion_blur_samples; + /* Velocity Pass */ + float velocity_curr_persinv[4][4]; + float velocity_past_persmat[4][4]; + struct GPUTexture *velocity_tx; /* Texture from pool */ /* Depth Of Field */ float dof_near_far[2]; float dof_params[3]; |