|
Blender V4.3
|
#include <workbench_private.hh>
Public Member Functions | |
OpaquePass | |
| void | sync (const SceneState &scene_state, SceneResources &resources) |
| void | draw (Manager &manager, View &view, SceneResources &resources, int2 resolution, class ShadowPass *shadow_pass) |
| bool | is_empty () const |
Public Attributes | |
| TextureFromPool | gbuffer_normal_tx = {"gbuffer_normal_tx"} |
| TextureFromPool | gbuffer_material_tx = {"gbuffer_material_tx"} |
| Texture | shadow_depth_stencil_tx = {"shadow_depth_stencil_tx"} |
| GPUTexture * | deferred_ps_stencil_tx = nullptr |
| MeshPass | gbuffer_ps_ = {"Opaque.Gbuffer"} |
| MeshPass | gbuffer_in_front_ps_ = {"Opaque.GbufferInFront"} |
| PassSimple | deferred_ps_ = {"Opaque.Deferred"} |
| Framebuffer | gbuffer_fb = {"Opaque.Gbuffer"} |
| Framebuffer | gbuffer_in_front_fb = {"Opaque.GbufferInFront"} |
| Framebuffer | deferred_fb = {"Opaque.Deferred"} |
| Framebuffer | clear_fb = {"Opaque.Clear"} |
Definition at line 335 of file workbench_private.hh.
| void blender::workbench::OpaquePass::draw | ( | Manager & | manager, |
| View & | view, | ||
| SceneResources & | resources, | ||
| int2 | resolution, | ||
| class ShadowPass * | shadow_pass ) |
Don't override the shadow debug output.
Definition at line 135 of file workbench_mesh_passes.cc.
References blender::draw::TextureFromPool::acquire(), blender::draw::Framebuffer::bind(), clear_fb, blender::workbench::SceneResources::color_tx, deferred_fb, deferred_ps_, deferred_ps_stencil_tx, blender::workbench::SceneResources::depth_in_front_tx, blender::workbench::SceneResources::depth_tx, blender::workbench::ShadowPass::draw(), blender::draw::Framebuffer::ensure(), blender::draw::Texture::ensure_2d(), blender::workbench::StencilViewWorkaround::extract(), blender::draw::Texture::free(), gbuffer_fb, gbuffer_in_front_fb, gbuffer_in_front_ps_, gbuffer_material_tx, gbuffer_normal_tx, gbuffer_ps_, GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_DEPTH24_STENCIL8, GPU_framebuffer_clear_stencil(), GPU_RG16F, GPU_RGBA16F, GPU_texture_copy(), GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_FORMAT_VIEW, GPU_TEXTURE_USAGE_SHADER_READ, blender::workbench::ShadowPass::is_debug(), blender::workbench::MeshPass::is_empty(), is_empty(), blender::draw::Texture::is_valid(), blender::workbench::SceneResources::object_id_tx, blender::draw::TextureFromPool::release(), shadow_depth_stencil_tx, blender::workbench::SceneResources::stencil_view, and blender::draw::Manager::submit().
Referenced by blender::workbench::Instance::draw().
| bool blender::workbench::OpaquePass::is_empty | ( | ) | const |
Definition at line 210 of file workbench_mesh_passes.cc.
References gbuffer_in_front_ps_, gbuffer_ps_, and blender::workbench::MeshPass::is_empty().
Referenced by draw().
| void blender::workbench::OpaquePass::sync | ( | const SceneState & | scene_state, |
| SceneResources & | resources ) |
Definition at line 100 of file workbench_mesh_passes.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ubo(), blender::workbench::SceneResources::cavity, blender::workbench::SceneState::clip_planes, blender::workbench::SceneState::cull_state, deferred_ps_, deferred_ps_stencil_tx, blender::workbench::SceneResources::depth_tx, blender::workbench::SceneState::draw_cavity, blender::workbench::SceneState::draw_curvature, blender::draw::detail::PassBase< DrawCommandBufType >::draw_procedural(), blender::workbench::SceneState::draw_shadows, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_STENCIL_ALWAYS, DRW_STATE_STENCIL_NEQUAL, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, DRW_STATE_WRITE_STENCIL, gbuffer_in_front_ps_, gbuffer_material_tx, gbuffer_normal_tx, gbuffer_ps_, blender::workbench::ShaderCache::get(), GPU_PRIM_TRIS, blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::workbench::MeshPass::init_pass(), blender::workbench::MeshPass::init_subpasses(), blender::workbench::SceneState::lighting_type, blender::workbench::SceneResources::matcap_tx, blender::workbench::OBJECT, blender::workbench::OBJECT_IN_FRONT, blender::workbench::OPAQUE, blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), blender::workbench::CavityEffect::setup_resolve_pass(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), state, blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), blender::draw::detail::PassBase< DrawCommandBufType >::state_stencil(), WB_MATCAP_SLOT, WB_WORLD_SLOT, and blender::workbench::SceneResources::world_buf.
Referenced by blender::workbench::Instance::begin_sync().
| Framebuffer blender::workbench::OpaquePass::clear_fb = {"Opaque.Clear"} |
Definition at line 350 of file workbench_private.hh.
Referenced by draw().
| Framebuffer blender::workbench::OpaquePass::deferred_fb = {"Opaque.Deferred"} |
Definition at line 349 of file workbench_private.hh.
Referenced by draw().
| PassSimple blender::workbench::OpaquePass::deferred_ps_ = {"Opaque.Deferred"} |
Definition at line 345 of file workbench_private.hh.
| GPUTexture* blender::workbench::OpaquePass::deferred_ps_stencil_tx = nullptr |
Definition at line 341 of file workbench_private.hh.
| Framebuffer blender::workbench::OpaquePass::gbuffer_fb = {"Opaque.Gbuffer"} |
Definition at line 347 of file workbench_private.hh.
Referenced by draw().
| Framebuffer blender::workbench::OpaquePass::gbuffer_in_front_fb = {"Opaque.GbufferInFront"} |
Definition at line 348 of file workbench_private.hh.
Referenced by draw().
| MeshPass blender::workbench::OpaquePass::gbuffer_in_front_ps_ = {"Opaque.GbufferInFront"} |
Definition at line 344 of file workbench_private.hh.
Referenced by blender::workbench::Instance::draw(), draw(), blender::workbench::Instance::draw_to_mesh_pass(), is_empty(), and sync().
| TextureFromPool blender::workbench::OpaquePass::gbuffer_material_tx = {"gbuffer_material_tx"} |
Definition at line 338 of file workbench_private.hh.
| TextureFromPool blender::workbench::OpaquePass::gbuffer_normal_tx = {"gbuffer_normal_tx"} |
Definition at line 337 of file workbench_private.hh.
| MeshPass blender::workbench::OpaquePass::gbuffer_ps_ = {"Opaque.Gbuffer"} |
Definition at line 343 of file workbench_private.hh.
Referenced by draw(), blender::workbench::Instance::draw_to_mesh_pass(), is_empty(), and sync().
| Texture blender::workbench::OpaquePass::shadow_depth_stencil_tx = {"shadow_depth_stencil_tx"} |
Definition at line 340 of file workbench_private.hh.
Referenced by draw().