Blender V4.3
blender::eevee::DepthOfField Class Reference

#include <eevee_depth_of_field.hh>

Public Member Functions

 DepthOfField (Instance &inst)
 
 ~DepthOfField ()
 
bool postfx_enabled () const
 
Depth of field
void init ()
 
void sync ()
 
void jitter_apply (float4x4 &winmat, float4x4 &viewmat)
 

Post-FX Rendering.

void render (View &view, GPUTexture **input_tx, GPUTexture **output_tx, DepthOfFieldBuffer &dof_buffer)
 

Detailed Description

Definition at line 43 of file eevee_depth_of_field.hh.

Constructor & Destructor Documentation

◆ DepthOfField()

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

Definition at line 151 of file eevee_depth_of_field.hh.

◆ ~DepthOfField()

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

Definition at line 152 of file eevee_depth_of_field.hh.

Member Function Documentation

◆ init()

◆ jitter_apply()

◆ postfx_enabled()

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

Definition at line 172 of file eevee_depth_of_field.hh.

◆ render()

void blender::eevee::DepthOfField::render ( View & view,
GPUTexture ** input_tx,
GPUTexture ** 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 505 of file eevee_depth_of_field.cc.

References blender::draw::TextureFromPool::acquire(), blender::eevee::Instance::camera, blender::eevee::CAMERA_ORTHO, blender::eevee::DepthOfFieldData::camera_type, ceilf, blender::draw::Texture::clear(), blender::draw::detail::StorageCommon< T, len, device_only >::clear_to_zero(), blender::eevee::CameraData::clip_far, blender::eevee::CameraData::clip_near, blender::eevee::DepthOfFieldData::coc_abs_max, blender::eevee::DepthOfFieldData::coc_bias, blender::eevee::DepthOfFieldData::coc_mul, blender::eevee::coc_radius_from_camera_depth(), color_tx, blender::draw::SwapChain< T, len >::current(), blender::eevee::Camera::data_get(), 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, DRW_stats_group_end(), DRW_stats_group_start(), blender::draw::Framebuffer::ensure(), blender::draw::Texture::ensure_2d(), fabsf, floorf, GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_BACKEND_OPENGL, GPU_BARRIER_FRAMEBUFFER, GPU_DEVICE_ATI, GPU_DRIVER_ANY, GPU_flush(), GPU_framebuffer_bind(), GPU_memory_barrier(), GPU_OS_UNIX, GPU_R11F_G11F_B10F, GPU_R16F, GPU_RG16F, GPU_RGBA16F, GPU_texture_height(), GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, GPU_texture_width(), GPU_type_matches_ex(), input_tx, blender::eevee::Camera::is_orthographic(), blender::eevee::Instance::manager, max_ff(), min_ff(), min_ii(), mul_project_m4_v3(), blender::draw::SwapChain< T, len >::previous(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), blender::draw::TextureFromPool::release(), blender::eevee::DepthOfFieldData::scatter_coc_threshold, 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: