|
Blender V5.0
|
#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, gpu::FrameBuffer *view_fb) |
| Vector< IrradianceBrickPacked > | bricks_alloc (int brick_len) |
| void | bricks_free (Vector< IrradianceBrickPacked > &bricks) |
Runtime container of diffuse indirect lighting. Also have debug and baking components.
Definition at line 205 of file eevee_lightprobe_volume.hh.
|
inline |
Definition at line 245 of file eevee_lightprobe_volume.hh.
|
inline |
Definition at line 246 of file eevee_lightprobe_volume.hh.
|
inline |
Definition at line 263 of file eevee_lightprobe_volume.hh.
References IRRADIANCE_BRICK_BUF_SLOT, IRRADIANCE_GRID_BUF_SLOT, and VOLUME_PROBE_TEX_SLOT.
| Vector< IrradianceBrickPacked > blender::eevee::VolumeProbeModule::bricks_alloc | ( | int | brick_len | ) |
Definition at line 128 of file eevee_lightprobe_volume.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::as_mutable_span().
Referenced by set_view().
| void blender::eevee::VolumeProbeModule::bricks_free | ( | Vector< IrradianceBrickPacked > & | bricks | ) |
| void blender::eevee::VolumeProbeModule::init | ( | ) |
Definition at line 26 of file eevee_lightprobe_volume.cc.
References blender::assign_if_different(), blender::eevee::IrradianceBrick::atlas_coord, BLI_assert, divide_ceil_u(), GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, i, blender::eevee::irradiance_brick_pack(), IRRADIANCE_GRID_BRICK_SIZE, and blender::math::reduce_mul().
| void blender::eevee::VolumeProbeModule::set_view | ( | View & | view | ) |
Definition at line 149 of file eevee_lightprobe_volume.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), b, LightProbeGridCacheFrame::baking, blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), blender::eevee::VolumeProbeData::brick_offset, bricks_alloc(), blender::Vector< T, InlineBufferCapacity, Allocator >::clear(), blender::math::divide_ceil(), blender::Vector< T, InlineBufferCapacity, Allocator >::end(), blender::eevee::VolumeProbeData::facing_bias, blender::math::from_location(), blender::math::from_scale(), blender::eevee::VolumeProbeData::grid_size_padded, grid_to_world(), blender::MatBase< float, 3, 4 >::identity(), if(), blender::math::invert(), LightProbeGridCacheFrame::irradiance, IRRADIANCE_GRID_BRICK_SIZE, IRRADIANCE_GRID_MAX, LightProbeBakingData::L0, LightProbeIrradianceData::L0, blender::MatBase< T, NumCol, NumRow, Alignment >::location(), blender::eevee::VolumeProbeData::normal_bias, blender::eevee::VolumeProbe::object_to_world, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), LightProbeGridCacheFrame::size, blender::math::transpose(), blender::eevee::VolumeProbeData::view_bias, and blender::eevee::VolumeProbeData::world_to_grid_transposed.
| void blender::eevee::VolumeProbeModule::sync | ( | ) |
Definition at line 121 of file eevee_lightprobe_volume.cc.
|
inline |
Definition at line 252 of file eevee_lightprobe_volume.hh.
| void blender::eevee::VolumeProbeModule::viewport_draw | ( | View & | view, |
| gpu::FrameBuffer * | view_fb ) |
Definition at line 483 of file eevee_lightprobe_volume.cc.
References view, and viewport_draw().
Referenced by viewport_draw().
|
friend |
Definition at line 274 of file eevee_lightprobe_volume.hh.
References SphereProbeModule.
Referenced by SphereProbeModule.
| IrradianceBake blender::eevee::VolumeProbeModule::bake |
Definition at line 207 of file eevee_lightprobe_volume.hh.