|
Blender V4.5
|
#include <eevee_pipeline.hh>
Public Member Functions | |
| DeferredProbePipeline (Instance &inst) | |
| int | header_layer_count () const |
| int | closure_layer_count () const |
| int | normal_layer_count () const |
Deferred Probe Pipeline | |
Closure data are written to intermediate buffer allowing screen space processing. | |
| void | begin_sync () |
| void | end_sync () |
| PassMain::Sub * | prepass_add (::Material *blender_mat, GPUMaterial *gpumat) |
| PassMain::Sub * | material_add (::Material *blender_mat, GPUMaterial *gpumat) |
| void | render (View &view, Framebuffer &prepass_fb, Framebuffer &combined_fb, Framebuffer &gbuffer_fb, int2 extent) |
Definition at line 539 of file eevee_pipeline.hh.
|
inline |
Definition at line 548 of file eevee_pipeline.hh.
| void blender::eevee::DeferredProbePipeline::begin_sync | ( | ) |
Definition at line 1250 of file eevee_pipeline.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::bind_resources(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::eevee::Film::depth, DRW_STATE_CLIP_CONTROL_UNIT_RANGE, DRW_STATE_CULL_BACK, DRW_STATE_WRITE_DEPTH, blender::eevee::Instance::film, blender::eevee::DeferredLayerBase::gbuffer_pass_sync(), blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::eevee::Instance::pipelines, blender::eevee::DeferredLayerBase::prepass_double_sided_static_ps_, blender::eevee::DeferredLayerBase::prepass_ps_, blender::eevee::DeferredLayerBase::prepass_single_sided_static_ps_, RBUFS_UTILITY_TEX_SLOT, blender::eevee::Instance::sampling, blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), blender::eevee::Film::DepthState::test_state, blender::eevee::Instance::uniform_data, blender::eevee::PipelineModule::utility_tx, and blender::eevee::Instance::velocity.
Referenced by blender::eevee::PipelineModule::begin_sync().
|
inline |
Definition at line 569 of file eevee_pipeline.hh.
References blender::eevee::DeferredLayerBase::closure_layer_count().
Referenced by blender::eevee::CaptureView::render_probes().
| void blender::eevee::DeferredProbePipeline::end_sync | ( | ) |
Definition at line 1276 of file eevee_pipeline.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_texture(), blender::eevee::DEFERRED_CAPTURE_EVAL, blender::draw::detail::PassBase< DrawCommandBufType >::draw_procedural(), DRW_STATE_BLEND_ADD_FULL, DRW_STATE_DEPTH_GREATER, DRW_STATE_WRITE_COLOR, blender::eevee::HiZBuffer::front, blender::eevee::Instance::gbuffer, GPU_BARRIER_SHADER_IMAGE_ACCESS, GPU_BARRIER_TEXTURE_FETCH, GPU_PRIM_TRIS, blender::eevee::Instance::hiz_buffer, blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::draw::detail::PassBase< DrawCommandBufType >::is_empty(), blender::eevee::Instance::lights, blender::eevee::Instance::pipelines, blender::eevee::DeferredLayerBase::prepass_ps_, RBUFS_COLOR_SLOT, RBUFS_UTILITY_TEX_SLOT, RBUFS_VALUE_SLOT, blender::eevee::Instance::render_buffers, blender::eevee::RenderBuffers::rp_color_tx, blender::eevee::RenderBuffers::rp_value_tx, blender::eevee::Instance::sampling, blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::eevee::Instance::shaders, blender::eevee::Instance::shadows, blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), blender::eevee::ShaderModule::static_shader_get(), blender::eevee::Instance::uniform_data, blender::eevee::PipelineModule::utility_tx, and blender::eevee::Instance::volume_probes.
Referenced by blender::eevee::PipelineModule::end_sync().
|
inline |
Definition at line 563 of file eevee_pipeline.hh.
References blender::eevee::DeferredLayerBase::header_layer_count().
Referenced by blender::eevee::CaptureView::render_probes().
| PassMain::Sub * blender::eevee::DeferredProbePipeline::material_add | ( | ::Material * | blender_mat, |
| GPUMaterial * | gpumat ) |
Definition at line 1308 of file eevee_pipeline.cc.
References Material::blend_flag, blender::eevee::DeferredLayerBase::closure_bits_, blender::eevee::DeferredLayerBase::closure_count_, blender::eevee::CLOSURE_EMISSION, blender::eevee::CLOSURE_SHADER_TO_RGBA, count_bits_i(), blender::eevee::DeferredLayerBase::gbuffer_double_sided_hybrid_ps_, blender::eevee::DeferredLayerBase::gbuffer_double_sided_ps_, blender::eevee::DeferredLayerBase::gbuffer_single_sided_hybrid_ps_, blender::eevee::DeferredLayerBase::gbuffer_single_sided_ps_, GPU_material_get_name(), MA_BL_CULL_BACKFACE, max_ii(), blender::eevee::shader_closure_bits_from_flag(), and blender::draw::detail::PassBase< DrawCommandBufType >::sub().
Referenced by blender::eevee::PipelineModule::material_add().
|
inline |
Definition at line 575 of file eevee_pipeline.hh.
References blender::eevee::DeferredLayerBase::normal_layer_count().
Referenced by blender::eevee::CaptureView::render_probes().
| PassMain::Sub * blender::eevee::DeferredProbePipeline::prepass_add | ( | ::Material * | blender_mat, |
| GPUMaterial * | gpumat ) |
Definition at line 1299 of file eevee_pipeline.cc.
References Material::blend_flag, GPU_material_get_name(), MA_BL_CULL_BACKFACE, blender::eevee::DeferredLayerBase::prepass_double_sided_static_ps_, blender::eevee::DeferredLayerBase::prepass_single_sided_static_ps_, and blender::draw::detail::PassBase< DrawCommandBufType >::sub().
Referenced by blender::eevee::PipelineModule::material_add().
| void blender::eevee::DeferredProbePipeline::render | ( | View & | view, |
| Framebuffer & | prepass_fb, | ||
| Framebuffer & | combined_fb, | ||
| Framebuffer & | gbuffer_fb, | ||
| int2 | extent ) |
Definition at line 1332 of file eevee_pipeline.cc.
References blender::eevee::GBuffer::bind(), blender::eevee::RenderBuffers::depth_tx, blender::eevee::Instance::gbuffer, blender::eevee::DeferredLayerBase::gbuffer_ps_, GPU_debug_group_begin(), GPU_debug_group_end(), GPU_framebuffer_bind(), blender::eevee::Instance::hiz_buffer, blender::eevee::Instance::lights, blender::eevee::Instance::manager, blender::eevee::DeferredLayerBase::prepass_ps_, blender::eevee::Instance::render_buffers, blender::eevee::HiZBuffer::set_source(), blender::eevee::LightModule::set_view(), blender::eevee::ShadowModule::set_view(), blender::eevee::SphereProbeModule::set_view(), blender::eevee::VolumeProbeModule::set_view(), blender::eevee::Instance::shadows, blender::eevee::Instance::sphere_probes, blender::draw::Manager::submit(), blender::eevee::HiZBuffer::update(), view, and blender::eevee::Instance::volume_probes.
Referenced by blender::eevee::CaptureView::render_probes().