Blender  V3.3
Functions
eevee_motion_blur.c File Reference
#include "DRW_render.h"
#include "BLI_rand.h"
#include "BLI_string_utils.h"
#include "BKE_animsys.h"
#include "BKE_camera.h"
#include "BKE_duplilist.h"
#include "BKE_object.h"
#include "BKE_screen.h"
#include "DNA_anim_types.h"
#include "DNA_camera_types.h"
#include "DNA_mesh_types.h"
#include "DNA_modifier_types.h"
#include "DNA_particle_types.h"
#include "DNA_rigidbody_types.h"
#include "DNA_screen_types.h"
#include "ED_screen.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "GPU_batch.h"
#include "GPU_texture.h"
#include "eevee_private.h"

Go to the source code of this file.

Functions

int EEVEE_motion_blur_init (EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata)
 
void EEVEE_motion_blur_step_set (EEVEE_Data *vedata, int step)
 
static void eevee_motion_blur_sync_camera (EEVEE_Data *vedata)
 
void EEVEE_motion_blur_cache_init (EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata)
 
void EEVEE_motion_blur_hair_cache_populate (EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata, Object *ob, ParticleSystem *psys, ModifierData *md)
 
void EEVEE_motion_blur_curves_cache_populate (EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata, Object *ob)
 
void EEVEE_motion_blur_cache_populate (EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata, Object *ob)
 
static void motion_blur_remove_vbo_reference_from_batch (GPUBatch *batch, GPUVertBuf *vbo1, GPUVertBuf *vbo2)
 
void EEVEE_motion_blur_cache_finish (EEVEE_Data *vedata)
 
void EEVEE_motion_blur_swap_data (EEVEE_Data *vedata)
 
void EEVEE_motion_blur_draw (EEVEE_Data *vedata)
 

Detailed Description

Gather all screen space effects technique such as Bloom, Motion Blur, DoF, SSAO, SSR, ...

Definition in file eevee_motion_blur.c.

Function Documentation

◆ EEVEE_motion_blur_cache_finish()

void EEVEE_motion_blur_cache_finish ( EEVEE_Data vedata)

◆ EEVEE_motion_blur_cache_init()

void EEVEE_motion_blur_cache_init ( EEVEE_ViewLayerData UNUSEDsldata,
EEVEE_Data vedata 
)

Definition at line 109 of file eevee_motion_blur.c.

References EEVEE_MotionBlurData::camera, DefaultTextureList::depth, DRW_context_state_get(), DRW_PASS_CREATE, DRW_pass_link(), DRW_shgroup_call_procedural_triangles(), DRW_shgroup_create(), DRW_shgroup_uniform_bool_copy(), DRW_shgroup_uniform_float_copy(), DRW_shgroup_uniform_ivec2_copy(), DRW_shgroup_uniform_mat4(), DRW_shgroup_uniform_texture(), DRW_shgroup_uniform_texture_ref_ex(), DRW_shgroup_uniform_vec2(), DRW_STATE_DEPTH_EQUAL, DRW_STATE_WRITE_COLOR, DRW_view_is_persp_get(), DRW_viewport_invert_size_get(), DRW_viewport_size_get(), DRW_viewport_texture_list_get(), Scene::eevee, EEVEE_materials_get_util_tex(), EEVEE_motion_blur_data_init(), eevee_motion_blur_sync_camera(), EEVEE_shaders_effect_motion_blur_hair_sh_get(), EEVEE_shaders_effect_motion_blur_object_sh_get(), EEVEE_shaders_effect_motion_blur_sh_get(), EEVEE_shaders_effect_motion_blur_velocity_tiles_expand_sh_get(), EEVEE_shaders_effect_motion_blur_velocity_tiles_sh_get(), EEVEE_VELOCITY_TILE_SIZE, EFFECT_MOTION_BLUR, EEVEE_StorageList::effects, EEVEE_EffectsInfo::enabled_effects, GPU_texture_height(), GPU_texture_width(), EEVEE_MotionBlurData::hair_grp, max_ii(), MB_CURR, MB_NEXT, MB_PREV, EEVEE_PassList::motion_blur, EEVEE_EffectsInfo::motion_blur, SceneEEVEE::motion_blur_depth_scale, EEVEE_EffectsInfo::motion_blur_max, EEVEE_EffectsInfo::motion_blur_near_far, NULL, EEVEE_MotionBlurData::persmat, EEVEE_Data::psl, scene, DRWContextState::scene, sh, EEVEE_EffectsInfo::source_buffer, state, EEVEE_Data::stl, EEVEE_PassList::velocity_hair, EEVEE_PassList::velocity_object, EEVEE_PassList::velocity_tiles, EEVEE_PassList::velocity_tiles_expand, EEVEE_EffectsInfo::velocity_tiles_tx, EEVEE_PassList::velocity_tiles_x, EEVEE_EffectsInfo::velocity_tiles_x_tx, and EEVEE_EffectsInfo::velocity_tx.

Referenced by eevee_cache_init(), and EEVEE_render_cache_init().

◆ EEVEE_motion_blur_cache_populate()

void EEVEE_motion_blur_cache_populate ( EEVEE_ViewLayerData UNUSEDsldata,
EEVEE_Data vedata,
Object ob 
)

◆ EEVEE_motion_blur_curves_cache_populate()

void EEVEE_motion_blur_curves_cache_populate ( EEVEE_ViewLayerData UNUSEDsldata,
EEVEE_Data vedata,
Object ob 
)

◆ EEVEE_motion_blur_draw()

void EEVEE_motion_blur_draw ( EEVEE_Data vedata)

◆ EEVEE_motion_blur_hair_cache_populate()

void EEVEE_motion_blur_hair_cache_populate ( EEVEE_ViewLayerData UNUSEDsldata,
EEVEE_Data vedata,
Object ob,
ParticleSystem psys,
ModifierData md 
)

◆ EEVEE_motion_blur_init()

int EEVEE_motion_blur_init ( EEVEE_ViewLayerData UNUSEDsldata,
EEVEE_Data vedata 
)

◆ EEVEE_motion_blur_step_set()

void EEVEE_motion_blur_step_set ( EEVEE_Data vedata,
int  step 
)

◆ EEVEE_motion_blur_swap_data()

void EEVEE_motion_blur_swap_data ( EEVEE_Data vedata)

◆ eevee_motion_blur_sync_camera()

static void eevee_motion_blur_sync_camera ( EEVEE_Data vedata)
static

◆ motion_blur_remove_vbo_reference_from_batch()

static void motion_blur_remove_vbo_reference_from_batch ( GPUBatch batch,
GPUVertBuf vbo1,
GPUVertBuf vbo2 
)
static