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

#include <eevee_lightprobe_volume.hh>

Public Member Functions

 VolumeProbeModule (Instance &inst)
 
 ~VolumeProbeModule ()
 
void update_world_irradiance ()
 
template<typename PassType >
void bind_resources (PassType &pass)
 

Public Attributes

IrradianceBake bake
 

Friends

class SphereProbeModule
 

Interface

void init ()
 
void sync ()
 
void set_view (View &view)
 
void viewport_draw (View &view, GPUFrameBuffer *view_fb)
 
Vector< IrradianceBrickPackedbricks_alloc (int brick_len)
 
void bricks_free (Vector< IrradianceBrickPacked > &bricks)
 

Detailed Description

Runtime container of diffuse indirect lighting. Also have debug and baking components.

Definition at line 191 of file eevee_lightprobe_volume.hh.

Constructor & Destructor Documentation

◆ VolumeProbeModule()

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

Definition at line 231 of file eevee_lightprobe_volume.hh.

◆ ~VolumeProbeModule()

blender::eevee::VolumeProbeModule::~VolumeProbeModule ( )
inline

Definition at line 232 of file eevee_lightprobe_volume.hh.

Member Function Documentation

◆ bind_resources()

template<typename PassType >
void blender::eevee::VolumeProbeModule::bind_resources ( PassType & pass)
inline

◆ bricks_alloc()

◆ bricks_free()

◆ init()

◆ set_view()

void blender::eevee::VolumeProbeModule::set_view ( View & view)

Definition at line 148 of file eevee_lightprobe_volume.cc.

References blender::draw::StorageVectorBuffer< T, len >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), b, LightProbeGridCacheFrame::baking, blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), bricks_alloc(), blender::draw::StorageVectorBuffer< T, len >::clear(), blender::math::divide_ceil(), blender::Vector< T, InlineBufferCapacity, Allocator >::end(), blender::draw::StorageVectorBuffer< T, len >::extend(), blender::math::from_location(), blender::math::from_scale(), grid_to_world(), blender::MatBase< float, 3, 4 >::identity(), blender::eevee::Instance::info_append_i18n(), blender::math::invert(), LightProbeGridCacheFrame::irradiance, IRRADIANCE_GRID_BRICK_SIZE, IRRADIANCE_GRID_MAX, LightProbeBakingData::L0, LightProbeIrradianceData::L0, blender::eevee::Instance::light_probes, blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), blender::draw::StorageVectorBuffer< T, len >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), LightProbeGridCacheFrame::size, blender::math::transpose(), and blender::eevee::VolumeProbeData::world_to_grid_transposed.

Referenced by blender::eevee::VolumeModule::draw_compute(), blender::eevee::DeferredLayer::render(), blender::eevee::DeferredProbePipeline::render(), blender::eevee::ForwardPipeline::render(), and blender::eevee::PlanarProbePipeline::render().

◆ sync()

void blender::eevee::VolumeProbeModule::sync ( )

◆ update_world_irradiance()

void blender::eevee::VolumeProbeModule::update_world_irradiance ( )
inline

Definition at line 238 of file eevee_lightprobe_volume.hh.

◆ viewport_draw()

void blender::eevee::VolumeProbeModule::viewport_draw ( View & view,
GPUFrameBuffer * view_fb )

Definition at line 459 of file eevee_lightprobe_volume.cc.

Referenced by blender::eevee::ShadingView::render().

Friends And Related Symbol Documentation

◆ SphereProbeModule

friend class SphereProbeModule
friend

Definition at line 260 of file eevee_lightprobe_volume.hh.

Member Data Documentation

◆ bake


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