48 friend VolumePipeline;
49 friend WorldVolumePipeline;
55 bool use_reprojection_;
69 Texture occupancy_tx_ = {
"occupancy_tx"};
75 Texture hit_count_tx_ = {
"hit_count_tx"};
76 Texture hit_depth_tx_ = {
"hit_depth_tx"};
77 Texture front_depth_tx_ = {
"front_depth_tx"};
93 PassSimple integration_ps_ = {
"Volumes.Integration"};
95 Texture integrated_transmit_tx_;
104 View volume_view = {
"Volume View"};
109 int history_frame_count_ = 0;
111 bool history_camera_is_perspective_ =
false;
113 bool valid_history_ =
false;
126 return enabled_ && use_lights_;
136 return data_.tex_size;
162 template<
typename PassType>
void bind_resources(
PassType &pass)
173 GPUTexture *extinction_tx_ =
nullptr;
177 GPUTexture *occupancy_tx_ =
nullptr;
179 template<
typename PassType>
void bind_resources(
PassType &pass)
194 GPUTexture *hit_depth_tx_ =
nullptr;
195 GPUTexture *hit_count_tx_ =
nullptr;
197 template<
typename PassType>
void bind_resources(
PassType &pass)
@ GPU_TEXTURE_USAGE_SHADER_READ
A running instance of the engine.
GPUTexture * phase_weight_tx_
struct blender::eevee::VolumeModule::@071270337046241225043155174206357035325205345030 occupancy
GPUTexture * transmittance_tx_
void object_sync(const ObjectHandle &ob_handle)
struct blender::eevee::VolumeModule::@265161324137340265205354103231327176261170007106 properties
GPUTexture * emission_tx_
bool needs_shadow_tagging() const
void world_sync(const WorldHandle &world_handle)
GPUTexture * occupancy_tx_
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
RAYTRACE_GROUP_SIZE additional_info("eevee_shared", "eevee_gbuffer_data", "eevee_global_ubo", "eevee_sampling_data", "eevee_utility_texture", "eevee_hiz_data", "draw_view") .specialization_constant(Type RAYTRACE_GROUP_SIZE in_sh_0_tx in_sh_2_tx screen_normal_tx GPU_RGBA8
detail::Pass< command::DrawCommandBuf > PassSimple
MatBase< float, 4, 4 > float4x4
VecBase< float, 4 > float4
VecBase< int32_t, 2 > int2
VecBase< int32_t, 3 > int3