|
Blender V5.0
|
#include <eevee_depth_of_field.hh>
Public Member Functions | |
| DepthOfField (Instance &inst) | |
| ~DepthOfField () | |
| bool | postfx_enabled () const |
| bool | enabled () const |
Depth of field | |
| void | init () |
| void | sync () |
| void | jitter_apply (float4x4 &winmat, float4x4 &viewmat) |
Post-FX Rendering. | |
| void | render (View &view, gpu::Texture **input_tx, gpu::Texture **output_tx, DepthOfFieldBuffer &dof_buffer) |
Definition at line 50 of file eevee_depth_of_field.hh.
|
inline |
Definition at line 164 of file eevee_depth_of_field.hh.
|
inline |
Definition at line 165 of file eevee_depth_of_field.hh.
|
inline |
Definition at line 190 of file eevee_depth_of_field.hh.
| void blender::eevee::DepthOfField::init | ( | ) |
Definition at line 44 of file eevee_depth_of_field.cc.
References SceneEEVEE::bokeh_max_size, SceneEEVEE::bokeh_neighbor_max, SceneEEVEE::bokeh_overblur, SceneEEVEE::bokeh_threshold, CAM_DOF_ENABLED, Object::data, SceneEEVEE::flag, float, OB_CAMERA, SCE_EEVEE_DOF_JITTER, and Object::type.
Apply Depth Of Field jittering to the view and projection matrices..
Definition at line 195 of file eevee_depth_of_field.cc.
References add_v2_v2(), blender::eevee::circle_to_polygon_angle(), blender::eevee::circle_to_polygon_radius(), cosf, mul_project_m4_v3(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), sample, sinf, sub_v2_v2(), and UNPACK2.
|
inline |
Definition at line 185 of file eevee_depth_of_field.hh.
| void blender::eevee::DepthOfField::render | ( | View & | view, |
| gpu::Texture ** | input_tx, | ||
| gpu::Texture ** | output_tx, | ||
| DepthOfFieldBuffer & | dof_buffer ) |
Will swap input and output texture if rendering happens. The actual output of this function is in input_tx.
Definition at line 510 of file eevee_depth_of_field.cc.
References blender::eevee::CAMERA_ORTHO, ceilf, blender::draw::Texture::clear(), blender::eevee::CameraData::clip_far, blender::eevee::CameraData::clip_near, blender::eevee::coc_radius_from_camera_depth(), blender::draw::SwapChain< T, len >::current(), blender::math::divide_ceil(), DOF_BOKEH_LUT_SIZE, DOF_DEFAULT_GROUP_SIZE, DOF_DILATE_RING_COUNT, DOF_FILTER_GROUP_SIZE, DOF_GATHER_GROUP_SIZE, DOF_GATHER_RING_COUNT, DOF_MAX_SLIGHT_FOCUS_RADIUS, DOF_REDUCE_GROUP_SIZE, DOF_RESOLVE_GROUP_SIZE, DOF_STABILIZE_GROUP_SIZE, DOF_TILES_DILATE_GROUP_SIZE, DOF_TILES_SIZE, blender::draw::Framebuffer::ensure(), blender::draw::Texture::ensure_2d(), fabsf, floorf, GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_BACKEND_OPENGL, GPU_BARRIER_FRAMEBUFFER, GPU_debug_group_begin(), GPU_debug_group_end(), GPU_DEVICE_ATI, GPU_DRIVER_ANY, GPU_DRIVER_OPENSOURCE, GPU_flush(), GPU_framebuffer_bind(), GPU_memory_barrier(), GPU_OS_UNIX, GPU_texture_height(), GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, GPU_texture_width(), GPU_type_matches_ex(), max_ff(), min_ff(), min_ii(), mul_project_m4_v3(), blender::draw::SwapChain< T, len >::previous(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), blender::eevee::DepthOfFieldBuffer::stabilize_history_tx_, blender::draw::Manager::submit(), blender::draw::SwapChain< T, len >::swap(), blender::draw::TextureFromPool::swap(), blender::eevee::CameraData::type, view, and blender::eevee::CameraData::winmat.
| void blender::eevee::DepthOfField::sync | ( | ) |
Definition at line 69 of file eevee_depth_of_field.cc.
References BKE_camera_object_dof_distance(), blender::math::ceil_to_multiple(), clamp_f(), Object::data, blender::eevee::DEBUG_DOF_PLANES, blender::math::divide_ceil(), DOF_MIP_COUNT, DOF_REDUCE_GROUP_SIZE, GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, blender::eevee::Camera::is_orthographic(), blender::eevee::Camera::is_panoramic(), blender::eevee::Camera::is_perspective(), max_ff(), OB_CAMERA, sqrtf, and Object::type.