|
Blender V4.3
|
#include <eevee_pipeline.hh>
Public Member Functions | |
| ForwardPipeline (Instance &inst) | |
Forward Pass | |
Handles alpha blended surfaces and NPR materials (using Closure to RGBA). | |
| void | sync () |
| PassMain::Sub * | prepass_opaque_add (::Material *blender_mat, GPUMaterial *gpumat, bool has_motion) |
| PassMain::Sub * | material_opaque_add (::Material *blender_mat, GPUMaterial *gpumat) |
| PassMain::Sub * | prepass_transparent_add (const Object *ob, ::Material *blender_mat, GPUMaterial *gpumat) |
| PassMain::Sub * | material_transparent_add (const Object *ob, ::Material *blender_mat, GPUMaterial *gpumat) |
| void | render (View &view, Framebuffer &prepass_fb, Framebuffer &combined_fb, int2 extent) |
Definition at line 134 of file eevee_pipeline.hh.
|
inline |
Definition at line 155 of file eevee_pipeline.hh.
| PassMain::Sub * blender::eevee::ForwardPipeline::material_opaque_add | ( | ::Material * | blender_mat, |
| GPUMaterial * | gpumat ) |
Definition at line 383 of file eevee_pipeline.cc.
References Material::blend_flag, BLI_assert_msg, GPU_material_flag_get(), GPU_material_get_name(), GPU_MATFLAG_TRANSPARENT, and MA_BL_CULL_BACKFACE.
Referenced by blender::eevee::PipelineModule::material_add().
| PassMain::Sub * blender::eevee::ForwardPipeline::material_transparent_add | ( | const Object * | ob, |
| ::Material * | blender_mat, | ||
| GPUMaterial * | gpumat ) |
Definition at line 413 of file eevee_pipeline.cc.
References Material::blend_flag, blender::math::dot(), DRW_STATE_BLEND_CUSTOM, DRW_STATE_CULL_BACK, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_WRITE_COLOR, GPU_material_get_name(), MA_BL_CULL_BACKFACE, blender::eevee::Instance::manager, state, blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), and blender::draw::PassSortable::sub().
| PassMain::Sub * blender::eevee::ForwardPipeline::prepass_opaque_add | ( | ::Material * | blender_mat, |
| GPUMaterial * | gpumat, | ||
| bool | has_motion ) |
Definition at line 362 of file eevee_pipeline.cc.
References Material::blend_flag, BLI_assert_msg, GPU_material_flag_get(), GPU_material_get_name(), GPU_MATFLAG_TRANSPARENT, and MA_BL_CULL_BACKFACE.
Referenced by blender::eevee::PipelineModule::material_add().
| PassMain::Sub * blender::eevee::ForwardPipeline::prepass_transparent_add | ( | const Object * | ob, |
| ::Material * | blender_mat, | ||
| GPUMaterial * | gpumat ) |
Definition at line 394 of file eevee_pipeline.cc.
References Material::blend_flag, blender::math::dot(), DRW_STATE_CULL_BACK, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_WRITE_DEPTH, GPU_material_get_name(), MA_BL_CULL_BACKFACE, MA_BL_HIDE_BACKFACE, blender::eevee::Instance::manager, state, blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), and blender::draw::PassSortable::sub().
| void blender::eevee::ForwardPipeline::render | ( | View & | view, |
| Framebuffer & | prepass_fb, | ||
| Framebuffer & | combined_fb, | ||
| int2 | extent ) |
Definition at line 429 of file eevee_pipeline.cc.
References blender::draw::Framebuffer::bind(), blender::eevee::VolumeModule::draw_resolve(), DRW_stats_group_end(), DRW_stats_group_start(), blender::eevee::Instance::hiz_buffer, blender::eevee::Instance::manager, blender::eevee::HiZBuffer::set_dirty(), 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::Instance::volume, and blender::eevee::Instance::volume_probes.
Referenced by blender::eevee::ShadingView::render().
| void blender::eevee::ForwardPipeline::sync | ( | ) |
Definition at line 285 of file eevee_pipeline.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::bind_resources(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::eevee::Instance::camera, DRW_STATE_CULL_BACK, DRW_STATE_DEPTH_EQUAL, DRW_STATE_DEPTH_LESS, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, FLT_MAX, blender::eevee::Camera::forward(), blender::eevee::HiZBuffer::front, blender::eevee::Instance::hiz_buffer, blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::draw::PassSortable::init(), blender::eevee::Instance::lights, blender::eevee::Instance::pipelines, RBUFS_UTILITY_TEX_SLOT, blender::eevee::VolumeModule::result, blender::eevee::Instance::sampling, blender::eevee::Instance::shadows, blender::eevee::Instance::sphere_probes, blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), blender::draw::PassSortable::sub(), blender::eevee::Instance::uniform_data, blender::eevee::PipelineModule::utility_tx, blender::eevee::Instance::velocity, blender::eevee::Instance::volume, and blender::eevee::Instance::volume_probes.
Referenced by blender::eevee::PipelineModule::begin_sync().