Blender V4.3
blender::workbench::OpaquePass Class Reference

#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"}
 

Detailed Description

Definition at line 335 of file workbench_private.hh.

Member Function Documentation

◆ draw()

◆ is_empty()

bool blender::workbench::OpaquePass::is_empty ( ) const

◆ sync()

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().

Member Data Documentation

◆ clear_fb

Framebuffer blender::workbench::OpaquePass::clear_fb = {"Opaque.Clear"}

Definition at line 350 of file workbench_private.hh.

Referenced by draw().

◆ deferred_fb

Framebuffer blender::workbench::OpaquePass::deferred_fb = {"Opaque.Deferred"}

Definition at line 349 of file workbench_private.hh.

Referenced by draw().

◆ deferred_ps_

PassSimple blender::workbench::OpaquePass::deferred_ps_ = {"Opaque.Deferred"}

Definition at line 345 of file workbench_private.hh.

Referenced by draw(), and sync().

◆ deferred_ps_stencil_tx

GPUTexture* blender::workbench::OpaquePass::deferred_ps_stencil_tx = nullptr

Definition at line 341 of file workbench_private.hh.

Referenced by draw(), and sync().

◆ gbuffer_fb

Framebuffer blender::workbench::OpaquePass::gbuffer_fb = {"Opaque.Gbuffer"}

Definition at line 347 of file workbench_private.hh.

Referenced by draw().

◆ gbuffer_in_front_fb

Framebuffer blender::workbench::OpaquePass::gbuffer_in_front_fb = {"Opaque.GbufferInFront"}

Definition at line 348 of file workbench_private.hh.

Referenced by draw().

◆ gbuffer_in_front_ps_

MeshPass blender::workbench::OpaquePass::gbuffer_in_front_ps_ = {"Opaque.GbufferInFront"}

◆ gbuffer_material_tx

TextureFromPool blender::workbench::OpaquePass::gbuffer_material_tx = {"gbuffer_material_tx"}

Definition at line 338 of file workbench_private.hh.

Referenced by draw(), and sync().

◆ gbuffer_normal_tx

TextureFromPool blender::workbench::OpaquePass::gbuffer_normal_tx = {"gbuffer_normal_tx"}

Definition at line 337 of file workbench_private.hh.

Referenced by draw(), and sync().

◆ gbuffer_ps_

MeshPass blender::workbench::OpaquePass::gbuffer_ps_ = {"Opaque.Gbuffer"}

◆ shadow_depth_stencil_tx

Texture blender::workbench::OpaquePass::shadow_depth_stencil_tx = {"shadow_depth_stencil_tx"}

Definition at line 340 of file workbench_private.hh.

Referenced by draw().


The documentation for this class was generated from the following files: