|
Blender V5.0
|
Inherits DrawEngine.
Public Attributes | |
| const DRWContext * | draw_ctx = nullptr |
| Public Attributes inherited from DrawEngine | |
| char | info [GPU_INFO_SIZE] = {'\0'} |
| bool | used = false |
Additional Inherited Members | |
| Static Public Attributes inherited from DrawEngine | |
| static constexpr int | GPU_INFO_SIZE = 512 |
Definition at line 46 of file workbench_engine.cc.
|
inlinefinalvirtual |
Scene synchronization. Command buffers building.
Implements DrawEngine.
Definition at line 110 of file workbench_engine.cc.
References final.
Referenced by workbench_render_to_image().
|
inline |
Definition at line 427 of file workbench_engine.cc.
References batch, blender::workbench::ObjectState::color_type, draw_to_mesh_pass(), get_material(), blender::eevee::Instance::manager, and blender::draw::Manager::unique_handle().
Referenced by object_sync().
|
inlinefinalvirtual |
Command Submission.
Implements DrawEngine.
Definition at line 526 of file workbench_engine.cc.
References DefaultTextureList::color, DefaultTextureList::depth, DefaultTextureList::depth_in_front, draw_ctx, draw_image_render(), draw_viewport(), DRW_submission_end(), and DRW_submission_start().
|
inline |
Always setup in-front depth, since Overlays can be updated without causing a Workbench re-sync (See #113580).
Definition at line 447 of file workbench_engine.cc.
References blender::draw::View::default_get(), draw_ctx, GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_framebuffer_clear_depth_stencil(), GPU_framebuffer_multi_clear(), GPU_TEXTURE_USAGE_ATTACHMENT, and GPU_TEXTURE_USAGE_SHADER_READ.
Referenced by draw_image_render(), and draw_viewport().
|
inline |
Definition at line 540 of file workbench_engine.cc.
References BLI_assert, draw(), draw_ctx, GPU_backend_get_type(), GPU_BACKEND_METAL, GPU_flush(), GPU_render_step(), i, RE_engine_set_error_message(), and RE_engine_test_break().
Referenced by draw(), and workbench_render_to_image().
|
inline |
Definition at line 261 of file workbench_engine.cc.
References batch, draw_to_mesh_pass(), and texture().
Referenced by mesh_sync(), and sculpt_sync().
|
inline |
Definition at line 237 of file workbench_engine.cc.
References Object::dtx, OB_DRAW_IN_FRONT, and blender::draw::ObjectRef::object.
Referenced by curves_sync(), draw_mesh(), hair_sync(), and pointcloud_sync().
|
inline |
Definition at line 507 of file workbench_engine.cc.
References draw(), DRW_viewport_request_redraw(), DrawEngine::info, and STRNCPY().
Referenced by draw().
|
inlinefinalvirtual |
Implements DrawEngine.
Definition at line 127 of file workbench_engine.cc.
References final.
Referenced by workbench_render_to_image().
|
inline |
Definition at line 81 of file workbench_engine.cc.
|
inline |
Definition at line 132 of file workbench_engine.cc.
References ATTR_FALLTHROUGH, BKE_material_default_empty(), BKE_object_material_get_eval(), blender::draw::ObjectRef::object, 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(), pointcloud_sync(), and sculpt_sync().
|
inline |
Definition at line 400 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_for_psys(), texture(), and V3D_SHADING_TEXTURE_COLOR.
Referenced by object_sync().
|
inlinefinalvirtual |
Init engine. Run first and for every redraw.
Implements DrawEngine.
Definition at line 89 of file workbench_engine.cc.
References draw_ctx, DRW_context_get(), final, and blender::eevee::Instance::init().
Referenced by workbench_render_to_image().
|
inline |
Definition at line 95 of file workbench_engine.cc.
References blender::assign_if_different(), DEG_get_update_count(), depsgraph, and DRW_context_get().
|
inline |
Definition at line 280 of file workbench_engine.cc.
References batch, BKE_object_material_used_with_fallback_eval(), blender::workbench::ObjectState::color_type, draw_mesh(), blender::workbench::ObjectState::draw_shadow, blender::draw::DRW_cache_mesh_surface_sculptcolors_get(), blender::draw::DRW_cache_mesh_surface_texpaint_get(), blender::draw::DRW_cache_mesh_surface_texpaint_single_get(), blender::draw::DRW_cache_mesh_surface_vertpaint_get(), blender::draw::DRW_cache_object_surface_get(), blender::draw::DRW_cache_object_surface_material_get(), get_material(), i, blender::workbench::ObjectState::image_paint_override, blender::Span< T >::is_empty(), Object::mode, OB_MODE_VERTEX_PAINT, blender::draw::ObjectRef::object, 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().
|
inlinefinalvirtual |
|
inlinefinalvirtual |
Implements DrawEngine.
Definition at line 155 of file workbench_engine.cc.
References Object::base_flag, BASE_FROM_DUPLI, BKE_modifier_is_enabled(), BKE_modifiers_findby_type(), blender::workbench::ObjectState::color_type, curves_sync(), FluidModifierData::domain, ParticleSettings::draw_as, draw_ctx, DRW_object_is_renderable(), DRW_object_is_visible_psys_in_active_context(), DRW_object_visibility_in_active_context(), 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(), Object::modifiers, OB_CURVES, OB_MESH, OB_POINTCLOUD, OB_SOLID, OB_VISIBLE_SELF, OB_VOLUME, OB_WIRE, ParticleSystem::part, PART_DRAW_PATH, PART_DRAW_REND, pointcloud_sync(), ParticleSettings::ren_as, blender::workbench::ObjectState::sculpt_pbvh, sculpt_sync(), FluidDomainSettings::type, Object::type, blender::draw::Manager::unique_handle(), and blender::draw::Manager::unique_handle_for_sculpt().
Referenced by workbench_render_to_image().
|
inline |
Definition at line 384 of file workbench_engine.cc.
References blender::workbench::ObjectState::color_type, draw_to_mesh_pass(), get_material(), blender::eevee::Instance::manager, and blender::draw::Manager::unique_handle().
Referenced by object_sync().
|
inline |
Definition at line 346 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().
| const DRWContext* blender::workbench::Instance::draw_ctx = nullptr |
Definition at line 74 of file workbench_engine.cc.
Referenced by draw(), draw(), draw_image_render(), init(), and object_sync().