53 friend VolumePipeline;
54 friend WorldVolumePipeline;
60 bool use_reprojection_;
74 Texture occupancy_tx_ = {
"occupancy_tx"};
80 Texture hit_count_tx_ = {
"hit_count_tx"};
81 Texture hit_depth_tx_ = {
"hit_depth_tx"};
82 Texture front_depth_tx_ = {
"front_depth_tx"};
98 PassSimple integration_ps_ = {
"Volumes.Integration"};
100 Texture integrated_transmit_tx_;
109 View volume_view = {
"Volume View"};
114 int history_frame_count_ = 0;
116 bool history_camera_is_perspective_ =
false;
118 bool valid_history_ =
false;
136 return enabled_ && use_lights_;
150 return data_.tex_size;
181 template<
typename PassType>
void bind_resources(
PassType &pass)
192 GPUTexture *extinction_tx_ =
nullptr;
196 GPUTexture *occupancy_tx_ =
nullptr;
198 template<
typename PassType>
void bind_resources(
PassType &pass)
213 GPUTexture *hit_depth_tx_ =
nullptr;
214 GPUTexture *hit_count_tx_ =
nullptr;
216 template<
typename PassType>
void bind_resources(
PassType &pass)
#define GPU_BATCH_DISCARD_SAFE(batch)
blender::gpu::Batch * GPU_batch_unit_cube() ATTR_WARN_UNUSED_RESULT
@ GPU_TEXTURE_USAGE_SHADER_READ
BMesh const char void * data
A running instance of the engine.
gpu::Batch * unit_cube_batch_get()
GPUTexture * phase_weight_tx_
GPUTexture * transmittance_tx_
void object_sync(const ObjectHandle &ob_handle)
GPUTexture * emission_tx_
bool needs_shadow_tagging() const
void world_sync(const WorldHandle &world_handle)
GPUTexture * occupancy_tx_
struct blender::eevee::VolumeModule::@352153221175204257045062313254237161234342201002 occupancy
struct blender::eevee::VolumeModule::@371265030144176335353130035105177227164117161155 properties
void draw_resolve(View &view)
VolumeModule(Instance &inst, VolumesInfoData &data)
void draw_compute(View &main_view, int2 extent)
GPUTexture * scattering_tx_
void draw_prepass(View &main_view)
#define VOLUME_PROP_SCATTERING_IMG_SLOT
#define VOLUME_HIT_DEPTH_SLOT
#define VOLUME_PROP_PHASE_WEIGHT_IMG_SLOT
#define VOLUME_HIT_COUNT_SLOT
#define VOLUME_OCCUPANCY_SLOT
#define VOLUME_TRANSMITTANCE_TEX_SLOT
#define VOLUME_PROP_EXTINCTION_IMG_SLOT
#define VOLUME_PROP_PHASE_IMG_SLOT
#define VOLUME_SCATTERING_TEX_SLOT
#define VOLUME_PROP_EMISSION_IMG_SLOT
detail::Pass< command::DrawCommandBuf > PassSimple
MatBase< float, 4, 4 > float4x4
VecBase< float, 4 > float4
VecBase< int32_t, 2 > int2
VecBase< int32_t, 3 > int3