|
Blender V4.5
|
#include <eevee_motion_blur.hh>
Public Member Functions | |
| MotionBlurModule (Instance &inst) | |
| ~MotionBlurModule () | |
| bool | postfx_enabled () const |
MotionBlurModule | |
| void | init () |
| void | step () |
| void | sync () |
| void | render (View &view, GPUTexture **input_tx, GPUTexture **output_tx) |
Manages time-steps evaluations and accumulation Motion blur. Also handles Post process motion blur.
Definition at line 63 of file eevee_motion_blur.hh.
|
inline |
Definition at line 108 of file eevee_motion_blur.hh.
|
inline |
Definition at line 109 of file eevee_motion_blur.hh.
| void blender::eevee::MotionBlurModule::init | ( | ) |
Definition at line 25 of file eevee_motion_blur.cc.
References BKE_curvemapping_changed(), blender::eevee::Sampling::cdf_from_curvemapping(), blender::eevee::Sampling::cdf_invert(), RenderData::cfra, CM_TABLE, blender::eevee::MotionBlurData::depth_scale, Scene::eevee, blender::eevee::Instance::is_image_render, blender::eevee::Instance::is_playback, blender::eevee::Instance::is_viewport(), ViewLayer::layflag, max_ii(), RenderData::mblur_shutter_curve, RenderData::mode, SceneEEVEE::motion_blur_depth_scale, RenderData::motion_blur_position, RenderData::motion_blur_shutter, SceneEEVEE::motion_blur_steps, Scene::r, R_MBLUR, blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), SCE_LAY_MOTION_BLUR, blender::eevee::Instance::scene, scene, blender::eevee::STEP_NEXT, blender::eevee::STEP_PREVIOUS, blender::eevee::VelocityModule::step_sync(), RenderData::subframe, time, blender::eevee::Instance::velocity, and blender::eevee::Instance::view_layer.
Referenced by blender::eevee::Instance::init().
|
inline |
Definition at line 118 of file eevee_motion_blur.hh.
Referenced by blender::eevee::Instance::init(), blender::eevee::VelocityModule::init(), and blender::eevee::RenderBuffers::vector_tx_format().
| void blender::eevee::MotionBlurModule::render | ( | View & | view, |
| GPUTexture ** | input_tx, | ||
| GPUTexture ** | output_tx ) |
Definition at line 189 of file eevee_motion_blur.cc.
References blender::draw::TextureFromPool::acquire(), blender::draw::detail::StorageCommon< T, len, device_only >::clear_to_zero(), blender::eevee::RenderBuffers::depth_tx, blender::math::divide_ceil(), fabsf, GPU_debug_group_begin(), GPU_debug_group_end(), GPU_RGBA16F, blender::draw::Texture::height(), blender::eevee::Instance::is_navigating, blender::eevee::Instance::is_viewport(), blender::eevee::Instance::manager, MOTION_BLUR_GROUP_SIZE, MOTION_BLUR_TILE_SIZE, blender::eevee::MotionBlurData::motion_scale, blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), blender::draw::TextureFromPool::release(), blender::eevee::Instance::render_buffers, blender::eevee::STEP_CURRENT, blender::eevee::STEP_PREVIOUS, blender::eevee::VelocityModule::step_time_delta_get(), blender::draw::Manager::submit(), blender::eevee::MotionBlurData::target_size_inv, blender::eevee::Instance::velocity, view, and blender::draw::Texture::width().
| void blender::eevee::MotionBlurModule::step | ( | ) |
Definition at line 85 of file eevee_motion_blur.cc.
References BLI_assert, blender::eevee::Sampling::do_render_sync(), blender::eevee::Sampling::finished(), RE_engine_frame_set(), blender::eevee::Instance::render, blender::eevee::Instance::sampling, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::eevee::STEP_NEXT, blender::eevee::VelocityModule::step_swap(), blender::eevee::VelocityModule::step_sync(), and blender::eevee::Instance::velocity.
| void blender::eevee::MotionBlurModule::sync | ( | ) |
Definition at line 129 of file eevee_motion_blur.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_image(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_resources(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ubo(), blender::eevee::Instance::camera, blender::eevee::Camera::camera_changed(), blender::eevee::VelocityModule::camera_changed_projection(), GPUSamplerState::default_sampler(), blender::eevee::RenderBuffers::depth_tx, blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), GPU_BARRIER_SHADER_IMAGE_ACCESS, GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_TEXTURE_FETCH, GPU_RG16F, blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::eevee::Instance::is_viewport(), blender::eevee::MOTION_BLUR_GATHER, blender::eevee::MOTION_BLUR_TILE_DILATE, blender::eevee::MOTION_BLUR_TILE_FLATTEN_RG, blender::eevee::MOTION_BLUR_TILE_FLATTEN_RGBA, blender::eevee::no_filter, blender::eevee::Camera::overscan_changed(), blender::eevee::Instance::render_buffers, blender::eevee::Instance::sampling, blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::eevee::Instance::shaders, blender::eevee::ShaderModule::static_shader_get(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), blender::eevee::RenderBuffers::vector_tx, blender::eevee::RenderBuffers::vector_tx_format(), and blender::eevee::Instance::velocity.
Referenced by blender::eevee::Instance::begin_sync().