|
Blender V4.3
|
#include <workbench_private.hh>
Public Member Functions | |
| void | init (const SceneState &scene_state, SceneResources &resources) |
| void | update () |
| void | sync () |
| void | object_sync (SceneState &scene_state, ObjectRef &ob_ref, ResourceHandle handle, const bool has_transp_mat) |
| void | draw (Manager &manager, View &view, SceneResources &resources, GPUTexture &depth_stencil_tx, bool force_fail_method) |
| bool | is_debug () |
Definition at line 393 of file workbench_private.hh.
| void blender::workbench::ShadowPass::draw | ( | Manager & | manager, |
| View & | view, | ||
| SceneResources & | resources, | ||
| GPUTexture & | depth_stencil_tx, | ||
| bool | force_fail_method ) |
Definition at line 428 of file workbench_shadow.cc.
References blender::draw::Framebuffer::bind(), blender::workbench::SceneResources::color_tx, blender::draw::Framebuffer::ensure(), GPU_ATTACHMENT_TEXTURE, ShadowPassData::light_direction_ws, and blender::draw::Manager::submit().
Referenced by blender::workbench::OpaquePass::draw(), and update().
| void blender::workbench::ShadowPass::init | ( | const SceneState & | scene_state, |
| SceneResources & | resources ) |
Definition at line 293 of file workbench_shadow.cc.
References clamp_f(), blender::workbench::SceneState::draw_shadows, DRW_culling_frustum_planes_get(), DRW_view_viewmat_get(), ShadowPassData::far_plane, ShadowPassData::light_direction_ws, blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), blender::workbench::SceneState::scene, blender::workbench::SceneState::shading, WorldData::shadow_add, WorldData::shadow_direction_vs, WorldData::shadow_focus, View3DShading::shadow_intensity, WorldData::shadow_mul, WorldData::shadow_shift, blender::math::transform_direction(), and blender::workbench::SceneResources::world_buf.
Referenced by blender::workbench::Instance::init().
| bool blender::workbench::ShadowPass::is_debug | ( | ) |
Definition at line 452 of file workbench_shadow.cc.
References DEBUG_SHADOW_VOLUME.
Referenced by blender::workbench::OpaquePass::draw().
| void blender::workbench::ShadowPass::object_sync | ( | SceneState & | scene_state, |
| ObjectRef & | ob_ref, | ||
| ResourceHandle | handle, | ||
| const bool | has_transp_mat ) |
Definition at line 380 of file workbench_shadow.cc.
References blender::workbench::SceneState::cull_state, blender::draw::detail::PassBase< DrawCommandBufType >::draw_expand(), DRW_cache_object_edge_detection_get(), DRW_cache_object_surface_get(), DRW_view_default_get(), GPU_PRIM_TRIS, Object::id, ShadowPassData::light_direction_ws, ID::name, blender::draw::ObjectRef::object, printf, and View().
Referenced by blender::workbench::Instance::mesh_sync().
| void blender::workbench::ShadowPass::sync | ( | ) |
Definition at line 329 of file workbench_shadow.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::bind_ubo(), DRW_STATE_BLEND_ADD_FULL, DRW_STATE_DEPTH_GREATER_EQUAL, DRW_STATE_DEPTH_LESS, DRW_STATE_STENCIL_ALWAYS, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_STENCIL_SHADOW_FAIL, DRW_STATE_WRITE_STENCIL_SHADOW_PASS, blender::workbench::ShaderCache::get(), blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::workbench::ShaderCache::shadow_get(), state, blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), blender::draw::detail::PassBase< DrawCommandBufType >::state_stencil(), and blender::draw::detail::PassBase< DrawCommandBufType >::sub().
Referenced by blender::workbench::Instance::begin_sync().
| void blender::workbench::ShadowPass::update | ( | ) |
References draw().