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

#include <eevee_volume.hh>

Public Member Functions

 VolumeModule (Instance &inst, VolumesInfoData &data)
 ~VolumeModule ()
bool needs_shadow_tagging () const
bool will_enable () const
bool enabled () const
int3 grid_size ()
gpu::Batch * unit_cube_batch_get ()
void init ()
void begin_sync ()
void world_sync (const WorldHandle &world_handle)
void object_sync (const ObjectHandle &ob_handle)
void end_sync ()
void draw_prepass (View &main_view)
void draw_compute (View &main_view, int2 extent)
void draw_resolve (View &view)

Public Attributes

struct { 
   gpu::Texture *   scattering_tx_ = nullptr 
   gpu::Texture *   transmittance_tx_ = nullptr 
result
struct { 
   gpu::Texture *   scattering_tx_ = nullptr 
   gpu::Texture *   extinction_tx_ = nullptr 
   gpu::Texture *   emission_tx_ = nullptr 
   gpu::Texture *   phase_tx_ = nullptr 
   gpu::Texture *   phase_weight_tx_ = nullptr 
   gpu::Texture *   occupancy_tx_ = nullptr 
properties
struct { 
   gpu::Texture *   occupancy_tx_ = nullptr 
   gpu::Texture *   hit_depth_tx_ = nullptr 
   gpu::Texture *   hit_count_tx_ = nullptr 
occupancy

Detailed Description

Definition at line 52 of file eevee_volume.hh.

Constructor & Destructor Documentation

◆ VolumeModule()

blender::eevee::VolumeModule::VolumeModule ( Instance & inst,
VolumesInfoData & data )
inline

Definition at line 123 of file eevee_volume.hh.

References data, and GPU_TEXTURE_USAGE_SHADER_READ.

◆ ~VolumeModule()

blender::eevee::VolumeModule::~VolumeModule ( )
inline

Definition at line 131 of file eevee_volume.hh.

References GPU_BATCH_DISCARD_SAFE.

Member Function Documentation

◆ begin_sync()

void blender::eevee::VolumeModule::begin_sync ( )

Definition at line 72 of file eevee_volume.cc.

◆ draw_compute()

void blender::eevee::VolumeModule::draw_compute ( View & main_view,
int2 extent )

Definition at line 445 of file eevee_volume.cc.

References blender::draw::View::viewmat().

◆ draw_prepass()

◆ draw_resolve()

void blender::eevee::VolumeModule::draw_resolve ( View & view)

Definition at line 477 of file eevee_volume.cc.

References GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, and view.

◆ enabled()

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

Definition at line 145 of file eevee_volume.hh.

◆ end_sync()

◆ grid_size()

int3 blender::eevee::VolumeModule::grid_size ( )
inline

Definition at line 150 of file eevee_volume.hh.

◆ init()

◆ needs_shadow_tagging()

bool blender::eevee::VolumeModule::needs_shadow_tagging ( ) const
inline

Definition at line 136 of file eevee_volume.hh.

◆ object_sync()

void blender::eevee::VolumeModule::object_sync ( const ObjectHandle & ob_handle)

◆ unit_cube_batch_get()

gpu::Batch * blender::eevee::VolumeModule::unit_cube_batch_get ( )
inline

Definition at line 155 of file eevee_volume.hh.

◆ will_enable()

bool blender::eevee::VolumeModule::will_enable ( ) const

Definition at line 102 of file eevee_volume.cc.

Referenced by end_sync().

◆ world_sync()

void blender::eevee::VolumeModule::world_sync ( const WorldHandle & world_handle)

Definition at line 78 of file eevee_volume.cc.

References blender::eevee::BaseHandle::recalc.

Member Data Documentation

◆ emission_tx_

gpu::Texture* blender::eevee::VolumeModule::emission_tx_ = nullptr

Definition at line 195 of file eevee_volume.hh.

◆ extinction_tx_

gpu::Texture* blender::eevee::VolumeModule::extinction_tx_ = nullptr

Definition at line 194 of file eevee_volume.hh.

◆ hit_count_tx_

gpu::Texture* blender::eevee::VolumeModule::hit_count_tx_ = nullptr

Definition at line 216 of file eevee_volume.hh.

◆ hit_depth_tx_

gpu::Texture* blender::eevee::VolumeModule::hit_depth_tx_ = nullptr

Definition at line 215 of file eevee_volume.hh.

◆ [struct]

struct { ... } blender::eevee::VolumeModule::occupancy

Referenced by end_sync().

◆ occupancy_tx_

gpu::Texture* blender::eevee::VolumeModule::occupancy_tx_ = nullptr

References to the textures in the module.

Definition at line 198 of file eevee_volume.hh.

◆ phase_tx_

gpu::Texture* blender::eevee::VolumeModule::phase_tx_ = nullptr

Definition at line 196 of file eevee_volume.hh.

◆ phase_weight_tx_

gpu::Texture* blender::eevee::VolumeModule::phase_weight_tx_ = nullptr

Definition at line 197 of file eevee_volume.hh.

◆ [struct]

struct { ... } blender::eevee::VolumeModule::properties

Referenced by end_sync().

◆ [struct]

struct { ... } blender::eevee::VolumeModule::result

Referenced by end_sync().

◆ scattering_tx_

gpu::Texture* blender::eevee::VolumeModule::scattering_tx_ = nullptr

References to the textures in the module.

Definition at line 180 of file eevee_volume.hh.

◆ transmittance_tx_

gpu::Texture* blender::eevee::VolumeModule::transmittance_tx_ = nullptr

Definition at line 181 of file eevee_volume.hh.


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