|
Blender V5.0
|
#include <eevee_raytrace.hh>
Public Member Functions | |
| RayTraceModule (Instance &inst, RayTraceData &data) | |
| bool | use_raytracing () const |
| bool | use_fast_gi () const |
Raytracing | |
| void | init () |
| void | sync () |
| RayTraceResult | render (RayTraceBuffer &rt_buffer, gpu::Texture *screen_radiance_back_tx, eClosureBits active_closures, View &main_view, View &render_view) |
| RayTraceResult | alloc_only (RayTraceBuffer &rt_buffer) |
| RayTraceResult | alloc_dummy (RayTraceBuffer &rt_buffer) |
| void | debug_pass_sync () |
| void | debug_draw (View &view, gpu::FrameBuffer *view_fb) |
Definition at line 143 of file eevee_raytrace.hh.
|
inline |
Definition at line 241 of file eevee_raytrace.hh.
References data.
| RayTraceResult blender::eevee::RayTraceModule::alloc_dummy | ( | RayTraceBuffer & | rt_buffer | ) |
Only allocate the RayTraceResult results buffers as dummy texture to ensure correct bindings.
Definition at line 735 of file eevee_raytrace.cc.
References blender::draw::TextureFromPool::acquire(), blender::eevee::RayTraceBuffer::closures, blender::eevee::RayTraceBuffer::DenoiseBuffer::denoised_bilateral_tx, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, i, and result.
| RayTraceResult blender::eevee::RayTraceModule::alloc_only | ( | RayTraceBuffer & | rt_buffer | ) |
Only allocate the RayTraceResult results buffers to be used by other passes.
Definition at line 720 of file eevee_raytrace.cc.
References blender::draw::TextureFromPool::acquire(), blender::eevee::RayTraceBuffer::closures, blender::eevee::RayTraceBuffer::DenoiseBuffer::denoised_bilateral_tx, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, i, and result.
| void blender::eevee::RayTraceModule::debug_draw | ( | View & | view, |
| gpu::FrameBuffer * | view_fb ) |
Definition at line 400 of file eevee_raytrace.cc.
| void blender::eevee::RayTraceModule::debug_pass_sync | ( | ) |
Definition at line 398 of file eevee_raytrace.cc.
| void blender::eevee::RayTraceModule::init | ( | ) |
Definition at line 24 of file eevee_raytrace.cc.
References data, FAST_GI_AO_ONLY, SceneEEVEE::fast_gi_method, SceneEEVEE::fast_gi_ray_count, SceneEEVEE::fast_gi_step_count, SceneEEVEE::flag, GPU_TEXTURE_USAGE_SHADER_READ, SceneEEVEE::ray_tracing_method, SceneEEVEE::ray_tracing_options, SCE_EEVEE_FAST_GI_ENABLED, and SCE_EEVEE_SSR_ENABLED.
| RayTraceResult blender::eevee::RayTraceModule::render | ( | RayTraceBuffer & | rt_buffer, |
| gpu::Texture * | screen_radiance_back_tx, | ||
| eClosureBits | active_closures, | ||
| View & | main_view, | ||
| View & | render_view ) |
RayTrace the scene and resolve radiance buffer for the corresponding closure_bit.
IMPORTANT: Should not be conditionally executed as it manages the RayTraceResult. IMPORTANT: The screen tracing will be using the front and back Hierarchical-Z Buffer in its current state.
Definition at line 402 of file eevee_raytrace.cc.
References BLI_assert, ceil_to_multiple_u(), blender::eevee::CLOSURE_NONE, blender::math::divide_ceil(), GPU_debug_group_begin(), GPU_debug_group_end(), GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, blender::eevee::RayTraceBuffer::history_persmat, i, blender::draw::Texture::is_valid(), max_ii(), options, blender::draw::View::persmat(), power_of_2_max_i(), blender::eevee::RayTraceBuffer::radiance_feedback_tx, RAYTRACE_GROUP_SIZE, result, and blender::eevee::SAMPLING_RAYTRACE_V.
| void blender::eevee::RayTraceModule::sync | ( | ) |
Definition at line 45 of file eevee_raytrace.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_image(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_resources(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), GPUSamplerState::default_sampler(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), GPU_BARRIER_SHADER_IMAGE_ACCESS, GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_TEXTURE_FETCH, blender::eevee::HORIZON_DENOISE, blender::eevee::HORIZON_RESOLVE, blender::eevee::HORIZON_SCAN, blender::eevee::HORIZON_SETUP, i, blender::draw::detail::Pass< DrawCommandBufType >::init(), max_ii(), power_of_2_max_i(), blender::eevee::RAY_DENOISE_BILATERAL, blender::eevee::RAY_DENOISE_SPATIAL, blender::eevee::RAY_DENOISE_TEMPORAL, blender::eevee::RAY_GENERATE, blender::eevee::RAY_TILE_CLASSIFY, blender::eevee::RAY_TILE_COMPACT, blender::eevee::RAY_TRACE_FALLBACK, blender::eevee::RAY_TRACE_PLANAR, blender::eevee::RAY_TRACE_SCREEN, RAYTRACE_EEVEE_DENOISE_BILATERAL, RAYTRACE_EEVEE_DENOISE_SPATIAL, RAYTRACE_EEVEE_DENOISE_TEMPORAL, RAYTRACE_EEVEE_METHOD_SCREEN, RAYTRACE_EEVEE_USE_DENOISE, RBUFS_UTILITY_TEX_SLOT, blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), and blender::draw::detail::PassBase< DrawCommandBufType >::specialize_constant().
|
inline |
Definition at line 288 of file eevee_raytrace.hh.
References use_raytracing().
|
inline |
Definition at line 283 of file eevee_raytrace.hh.
Referenced by blender::eevee::DeferredLayer::do_merge_direct_indirect_eval(), and use_fast_gi().