|
Blender V4.3
|
#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 26 of file eevee_motion_blur.cc.
References BKE_curvemapping_changed(), blender::eevee::Sampling::cdf_from_curvemapping(), blender::eevee::Sampling::cdf_invert(), CM_TABLE, blender::eevee::MotionBlurData::depth_scale, blender::eevee::Instance::is_image_render(), blender::eevee::Instance::is_playback(), blender::eevee::Instance::is_viewport(), ViewLayer::layflag, max_ii(), R_MBLUR, blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), SCE_LAY_MOTION_BLUR, blender::eevee::Instance::scene, blender::eevee::STEP_NEXT, blender::eevee::STEP_PREVIOUS, blender::eevee::VelocityModule::step_sync(), blender::eevee::Instance::velocity, and blender::eevee::Instance::view_layer.
Referenced by blender::eevee::Instance::init().
|
inline |
Definition at line 117 of file eevee_motion_blur.hh.
Referenced by 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 191 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(), DRW_stats_group_end(), DRW_stats_group_start(), fabsf, GPU_RG16F, GPU_RGBA16F, GPU_texture_swizzle_set(), blender::draw::Texture::height(), input_tx, 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::RenderBuffers::vector_tx, blender::eevee::RenderBuffers::vector_tx_format(), blender::eevee::Instance::velocity, and blender::draw::Texture::width().
| void blender::eevee::MotionBlurModule::step | ( | ) |
Definition at line 87 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 131 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().