158 int3 tile_classify_dispatch_size_ =
int3(1);
160 int3 tile_compact_dispatch_size_ =
int3(1);
161 int3 horizon_schedule_dispatch_size_ =
int3(1);
163 int3 tracing_dispatch_size_ =
int3(1);
164 int3 horizon_tracing_dispatch_size_ =
int3(1);
167 Texture tile_raytrace_denoise_tx_ = {
"tile_raytrace_denoise_tx_"};
168 Texture tile_raytrace_tracing_tx_ = {
"tile_raytrace_tracing_tx_"};
169 Texture tile_horizon_denoise_tx_ = {
"tile_horizon_denoise_tx_"};
170 Texture tile_horizon_tracing_tx_ = {
"tile_horizon_tracing_tx_"};
180 GPUTexture *horizon_scan_output_tx_[3] = {
nullptr};
182 RayTraceTileBuf raytrace_tracing_tiles_buf_ = {
"raytrace_tracing_tiles_buf_"};
183 RayTraceTileBuf raytrace_denoise_tiles_buf_ = {
"raytrace_denoise_tiles_buf_"};
184 RayTraceTileBuf horizon_tracing_tiles_buf_ = {
"horizon_tracing_tiles_buf_"};
185 RayTraceTileBuf horizon_denoise_tiles_buf_ = {
"horizon_denoise_tiles_buf_"};
194 TextureFromPool horizon_radiance_denoised_tx_[4] = {{
"horizon_radiance_denoised_tx_"}};
196 TextureFromPool downsampled_in_radiance_tx_ = {
"downsampled_in_radiance_tx_"};
198 TextureFromPool downsampled_in_normal_tx_ = {
"downsampled_in_normal_tx_"};
200 GPUTexture *denoised_spatial_tx_ =
nullptr;
201 GPUTexture *denoised_temporal_tx_ =
nullptr;
202 GPUTexture *denoised_bilateral_tx_ =
nullptr;
210 GPUTexture *radiance_history_tx_ =
nullptr;
211 GPUTexture *variance_history_tx_ =
nullptr;
212 GPUTexture *tilemask_history_tx_ =
nullptr;
214 GPUTexture *screen_radiance_front_tx_ =
nullptr;
215 GPUTexture *screen_radiance_back_tx_ =
nullptr;
217 Texture radiance_dummy_black_tx_ = {
"radiance_dummy_black_tx"};
221 GPUTexture *renderbuf_depth_view_ =
nullptr;
225 int fast_gi_ray_count_ = 0;
226 int fast_gi_step_count_ = 0;
227 bool fast_gi_ao_only_ = 0;
257 GPUTexture *screen_radiance_back_tx,
@ GPU_TEXTURE_USAGE_SHADER_READ
@ GPU_TEXTURE_USAGE_SHADER_WRITE
static void swap(TextureFromPool &a, Texture &b)
void clear(float4 values)
bool ensure_2d(eGPUTextureFormat format, int2 extent, eGPUTextureUsage usage=GPU_TEXTURE_USAGE_GENERAL, const float *data=nullptr, int mip_len=1)
GPUTexture ** operator&()
RayTraceResultTexture()=default
RayTraceResultTexture(TextureFromPool &result)
RayTraceResultTexture(TextureFromPool &result, Texture &history)