Blender V5.0
blender::eevee::DepthOfField Class Reference

#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)

Detailed Description

Definition at line 50 of file eevee_depth_of_field.hh.

Constructor & Destructor Documentation

◆ DepthOfField()

blender::eevee::DepthOfField::DepthOfField ( Instance & inst)
inline

Definition at line 164 of file eevee_depth_of_field.hh.

◆ ~DepthOfField()

blender::eevee::DepthOfField::~DepthOfField ( )
inline

Definition at line 165 of file eevee_depth_of_field.hh.

Member Function Documentation

◆ enabled()

bool blender::eevee::DepthOfField::enabled ( ) const
inline

Definition at line 190 of file eevee_depth_of_field.hh.

◆ init()

◆ jitter_apply()

void blender::eevee::DepthOfField::jitter_apply ( float4x4 & winmat,
float4x4 & viewmat )

◆ postfx_enabled()

bool blender::eevee::DepthOfField::postfx_enabled ( ) const
inline

Definition at line 185 of file eevee_depth_of_field.hh.

◆ render()

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.

◆ sync()


The documentation for this class was generated from the following files: