|
Blender V4.3
|
Public Member Functions | |
| GPUMaterial ** | get_dummy_gpu_materials (int material_count) |
| void | init (Object *camera_ob=nullptr) |
| void | begin_sync () |
| void | end_sync () |
| Material | get_material (ObjectRef ob_ref, eV3DShadingColorType color_type, int slot=0) |
| void | object_sync (Manager &manager, ObjectRef &ob_ref) |
| template<typename F> | |
| void | draw_to_mesh_pass (ObjectRef &ob_ref, bool is_transparent, F draw_callback) |
| void | draw_mesh (ObjectRef &ob_ref, Material &material, gpu::Batch *batch, ResourceHandle handle, const MaterialTexture *texture=nullptr, bool show_missing_texture=false) |
| void | mesh_sync (ObjectRef &ob_ref, ResourceHandle handle, const ObjectState &object_state) |
| void | sculpt_sync (ObjectRef &ob_ref, ResourceHandle handle, const ObjectState &object_state) |
| void | point_cloud_sync (Manager &manager, ObjectRef &ob_ref, const ObjectState &object_state) |
| void | hair_sync (Manager &manager, ObjectRef &ob_ref, ResourceHandle emitter_handle, const ObjectState &object_state, ParticleSystem *psys, ModifierData *md) |
| void | curves_sync (Manager &manager, ObjectRef &ob_ref, const ObjectState &object_state) |
| void | draw (Manager &manager, GPUTexture *depth_tx, GPUTexture *depth_in_front_tx, GPUTexture *color_tx) |
| void | draw_viewport (Manager &manager, GPUTexture *depth_tx, GPUTexture *depth_in_front_tx, GPUTexture *color_tx) |
| void | draw_image_render (Manager &manager, GPUTexture *depth_tx, GPUTexture *depth_in_front_tx, GPUTexture *color_tx, RenderEngine *engine=nullptr) |
Public Attributes | |
| View | view = {"DefaultView"} |
| SceneState | scene_state |
| SceneResources | resources |
| OpaquePass | opaque_ps |
| TransparentPass | transparent_ps |
| TransparentDepthPass | transparent_depth_ps |
| ShadowPass | shadow_ps |
| VolumePass | volume_ps |
| OutlinePass | outline_ps |
| DofPass | dof_ps |
| AntiAliasingPass | anti_aliasing_ps |
| Vector< GPUMaterial * > | dummy_gpu_materials = {1, nullptr, {}} |
Definition at line 30 of file workbench_engine.cc.
|
inline |
Definition at line 70 of file workbench_engine.cc.
References anti_aliasing_ps, dof_ps, opaque_ps, outline_ps, resources, scene_state, shadow_ps, transparent_depth_ps, transparent_ps, and volume_ps.
|
inline |
Definition at line 387 of file workbench_engine.cc.
References blender::workbench::ObjectState::color_type, draw_to_mesh_pass(), get_material(), blender::eevee::Instance::manager, blender::draw::ObjectRef::object, blender::draw::Manager::resource_handle(), and resources.
Referenced by object_sync().
|
inline |
Always setup in-front depth, since Overlays can be updated without causing a Workbench re-sync (See #113580).
Definition at line 403 of file workbench_engine.cc.
References anti_aliasing_ps, color_tx, dof_ps, DRW_view_default_get(), GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_framebuffer_clear_depth_stencil(), GPU_framebuffer_multi_clear(), GPU_R16UI, GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_SHADER_READ, blender::eevee::Instance::manager, opaque_ps, outline_ps, resources, scene_state, shadow_ps, transparent_depth_ps, transparent_ps, view, and volume_ps.
Referenced by draw_image_render(), and draw_viewport().
|
inline |
Definition at line 474 of file workbench_engine.cc.
References anti_aliasing_ps, BLI_assert, color_tx, dof_ps, draw(), GPU_backend_get_type(), GPU_BACKEND_METAL, GPU_flush(), GPU_render_step(), blender::eevee::Instance::manager, RE_engine_test_break(), resources, and scene_state.
Referenced by workbench_draw_scene(), and workbench_render_to_image().
|
inline |
Definition at line 223 of file workbench_engine.cc.
References batch, draw_to_mesh_pass(), resources, and texture.
|
inline |
Definition at line 199 of file workbench_engine.cc.
References Object::dtx, OB_DRAW_IN_FRONT, blender::draw::ObjectRef::object, opaque_ps, scene_state, transparent_depth_ps, and transparent_ps.
Referenced by curves_sync(), draw_mesh(), hair_sync(), and point_cloud_sync().
|
inline |
Definition at line 462 of file workbench_engine.cc.
References color_tx, draw(), DRW_viewport_request_redraw(), blender::eevee::Instance::manager, and scene_state.
Referenced by workbench_draw_scene().
|
inline |
Definition at line 85 of file workbench_engine.cc.
References resources.
|
inline |
Definition at line 51 of file workbench_engine.cc.
References dummy_gpu_materials.
Referenced by mesh_sync().
|
inline |
Definition at line 90 of file workbench_engine.cc.
References ATTR_FALLTHROUGH, BKE_material_default_empty(), BKE_object_material_get_eval(), blender::draw::ObjectRef::object, scene_state, V3D_SHADING_MATERIAL_COLOR, V3D_SHADING_OBJECT_COLOR, V3D_SHADING_RANDOM_COLOR, V3D_SHADING_SINGLE_COLOR, V3D_SHADING_TEXTURE_COLOR, and V3D_SHADING_VERTEX_COLOR.
Referenced by curves_sync(), hair_sync(), mesh_sync(), object_sync(), point_cloud_sync(), and sculpt_sync().
|
inline |
Definition at line 360 of file workbench_engine.cc.
References blender::workbench::ObjectState::color_type, draw_to_mesh_pass(), get_material(), blender::eevee::Instance::manager, blender::draw::ObjectRef::object, ParticleSettings::omat, ParticleSystem::part, blender::draw::Manager::resource_handle(), resources, texture, and V3D_SHADING_TEXTURE_COLOR.
Referenced by object_sync().
|
inline |
Definition at line 59 of file workbench_engine.cc.
References anti_aliasing_ps, dof_ps, outline_ps, resources, scene_state, and shadow_ps.
Referenced by workbench_engine_init(), and workbench_render_to_image().
|
inline |
Definition at line 242 of file workbench_engine.cc.
References batch, blender::workbench::ObjectState::color_type, draw_mesh, blender::workbench::ObjectState::draw_shadow, DRW_cache_mesh_surface_sculptcolors_get(), DRW_cache_mesh_surface_texpaint_get(), DRW_cache_mesh_surface_texpaint_single_get(), DRW_cache_mesh_surface_vertpaint_get(), DRW_cache_object_material_count_get(), DRW_cache_object_surface_get(), DRW_cache_object_surface_material_get(), get_dummy_gpu_materials(), get_material(), blender::workbench::ObjectState::image_paint_override, Object::mode, OB_MODE_VERTEX_PAINT, blender::draw::ObjectRef::object, scene_state, shadow_ps, blender::workbench::ObjectState::show_missing_texture, texture, blender::workbench::ObjectState::use_per_material_batches, V3D_SHADING_TEXTURE_COLOR, and V3D_SHADING_VERTEX_COLOR.
Referenced by object_sync().
Definition at line 113 of file workbench_engine.cc.
References Object::base_flag, BASE_FROM_DUPLI, BKE_modifier_is_enabled(), BKE_modifiers_findby_type(), blender::bke::pbvh::bounds_get(), blender::workbench::ObjectState::color_type, curves_sync(), FluidModifierData::domain, ParticleSettings::draw_as, DRW_object_is_renderable(), DRW_object_is_visible_psys_in_active_context(), DRW_object_visibility_in_active_context(), DRW_state_is_scene_render(), Object::dt, eModifierMode_Realtime, eModifierType_Fluid, eModifierType_ParticleSystem, ListBase::first, FLUID_DOMAIN_TYPE_GAS, get_material(), hair_sync(), LISTBASE_FOREACH, blender::eevee::Instance::manager, mesh_sync(), blender::math::midpoint(), Object::modifiers, OB_CURVES, OB_MESH, OB_POINTCLOUD, OB_SOLID, OB_VISIBLE_SELF, OB_VOLUME, OB_WIRE, blender::draw::ObjectRef::object, ParticleSystem::part, PART_DRAW_PATH, PART_DRAW_REND, blender::bke::object::pbvh_get(), point_cloud_sync(), ParticleSettings::ren_as, blender::draw::Manager::resource_handle(), resources, scene_state, blender::workbench::ObjectState::sculpt_pbvh, sculpt_sync(), FluidDomainSettings::type, Object::type, and volume_ps.
|
inline |
Definition at line 344 of file workbench_engine.cc.
References blender::workbench::ObjectState::color_type, draw_to_mesh_pass(), get_material(), blender::eevee::Instance::manager, blender::draw::Manager::resource_handle(), and resources.
Referenced by object_sync().
|
inline |
Definition at line 307 of file workbench_engine.cc.
References batch, blender::workbench::ObjectState::color_type, draw_mesh, get_material(), blender::workbench::ObjectState::image_paint_override, blender::draw::ObjectRef::object, blender::draw::SCULPT_BATCH_DEFAULT, blender::draw::SCULPT_BATCH_UV, blender::draw::SCULPT_BATCH_VERTEX_COLOR, blender::draw::sculpt_batches_get(), SCULPT_DEBUG_DRAW, blender::workbench::ObjectState::show_missing_texture, texture, blender::workbench::ObjectState::use_per_material_batches, V3D_SHADING_TEXTURE_COLOR, and V3D_SHADING_VERTEX_COLOR.
Referenced by object_sync().
| AntiAliasingPass blender::workbench::Instance::anti_aliasing_ps |
Definition at line 46 of file workbench_engine.cc.
Referenced by begin_sync(), draw(), draw_image_render(), and init().
| DofPass blender::workbench::Instance::dof_ps |
Definition at line 45 of file workbench_engine.cc.
Referenced by begin_sync(), draw(), draw_image_render(), and init().
| Vector<GPUMaterial *> blender::workbench::Instance::dummy_gpu_materials = {1, nullptr, {}} |
Definition at line 50 of file workbench_engine.cc.
Referenced by get_dummy_gpu_materials().
| OpaquePass blender::workbench::Instance::opaque_ps |
Definition at line 38 of file workbench_engine.cc.
Referenced by begin_sync(), draw(), and draw_to_mesh_pass().
| OutlinePass blender::workbench::Instance::outline_ps |
Definition at line 44 of file workbench_engine.cc.
Referenced by begin_sync(), draw(), and init().
| SceneResources blender::workbench::Instance::resources |
Definition at line 36 of file workbench_engine.cc.
Referenced by begin_sync(), curves_sync(), draw(), draw_image_render(), draw_mesh(), end_sync(), hair_sync(), init(), object_sync(), and point_cloud_sync().
| SceneState blender::workbench::Instance::scene_state |
Definition at line 34 of file workbench_engine.cc.
Referenced by begin_sync(), draw(), draw_image_render(), draw_to_mesh_pass(), draw_viewport(), get_material(), init(), mesh_sync(), object_sync(), and workbench_view_update().
| ShadowPass blender::workbench::Instance::shadow_ps |
Definition at line 42 of file workbench_engine.cc.
Referenced by begin_sync(), draw(), init(), and mesh_sync().
| TransparentDepthPass blender::workbench::Instance::transparent_depth_ps |
Definition at line 40 of file workbench_engine.cc.
Referenced by begin_sync(), draw(), and draw_to_mesh_pass().
| TransparentPass blender::workbench::Instance::transparent_ps |
Definition at line 39 of file workbench_engine.cc.
Referenced by begin_sync(), draw(), and draw_to_mesh_pass().
| View blender::workbench::Instance::view = {"DefaultView"} |
Definition at line 32 of file workbench_engine.cc.
Referenced by draw().
| VolumePass blender::workbench::Instance::volume_ps |
Definition at line 43 of file workbench_engine.cc.
Referenced by begin_sync(), draw(), and object_sync().