|
Blender V4.3
|
#include <cstdio>#include "CLG_log.h"#include "BLI_alloca.h"#include "BLI_listbase.h"#include "BLI_memblock.h"#include "BLI_rect.h"#include "BLI_string.h"#include "BLI_task.h"#include "BLI_threads.h"#include "BLF_api.hh"#include "BLT_translation.hh"#include "BKE_context.hh"#include "BKE_curve.hh"#include "BKE_curves.h"#include "BKE_duplilist.hh"#include "BKE_editmesh.hh"#include "BKE_global.hh"#include "BKE_gpencil_legacy.h"#include "BKE_grease_pencil.h"#include "BKE_lattice.hh"#include "BKE_main.hh"#include "BKE_mball.hh"#include "BKE_mesh.hh"#include "BKE_modifier.hh"#include "BKE_object.hh"#include "BKE_object_types.hh"#include "BKE_paint.hh"#include "BKE_particle.h"#include "BKE_pointcache.h"#include "BKE_pointcloud.hh"#include "BKE_screen.hh"#include "BKE_subdiv_modifier.hh"#include "BKE_viewer_path.hh"#include "BKE_volume.hh"#include "DNA_camera_types.h"#include "DNA_mesh_types.h"#include "DNA_userdef_types.h"#include "DNA_view3d_types.h"#include "DNA_world_types.h"#include "ED_gpencil_legacy.hh"#include "ED_screen.hh"#include "ED_space_api.hh"#include "ED_view3d.hh"#include "GPU_capabilities.hh"#include "GPU_framebuffer.hh"#include "GPU_immediate.hh"#include "GPU_matrix.hh"#include "GPU_platform.hh"#include "GPU_shader_shared.hh"#include "GPU_state.hh"#include "GPU_uniform_buffer.hh"#include "GPU_viewport.hh"#include "RE_engine.h"#include "RE_pipeline.h"#include "UI_resources.hh"#include "UI_view2d.hh"#include "WM_api.hh"#include "wm_window.hh"#include "draw_color_management.hh"#include "draw_manager_c.hh"#include "draw_manager_profiling.hh"#include "draw_manager_testing.hh"#include "draw_manager_text.hh"#include "draw_shader.hh"#include "draw_subdivision.hh"#include "draw_texture_pool.hh"#include "draw_cache_impl.hh"#include "engines/basic/basic_engine.h"#include "engines/compositor/compositor_engine.h"#include "engines/eevee_next/eevee_engine.h"#include "engines/external/external_engine.h"#include "engines/gpencil/gpencil_engine.h"#include "engines/image/image_engine.h"#include "engines/overlay/overlay_engine.h"#include "engines/select/select_engine.hh"#include "engines/workbench/workbench_engine.h"#include "GPU_context.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_query.hh"#include "DRW_select_buffer.hh"Go to the source code of this file.
Classes | |
| struct | IdDdtTemplate |
| struct | DRWSelectBuffer |
Functions | |
| static void | drw_state_prepare_clean_for_draw (DRWManager *dst) |
| static void | drw_state_ensure_not_reused (DRWManager *dst) |
| static bool | drw_draw_show_annotation () |
Threading | |
| static void | drw_task_graph_init () |
| static void | drw_task_graph_deinit () |
Settings | |
| bool | DRW_object_is_renderable (const Object *ob) |
| bool | DRW_object_is_in_edit_mode (const Object *ob) |
| int | DRW_object_visibility_in_active_context (const Object *ob) |
| bool | DRW_object_use_hide_faces (const Object *ob) |
| bool | DRW_object_is_visible_psys_in_active_context (const Object *object, const ParticleSystem *psys) |
| Object * | DRW_object_get_dupli_parent (const Object *) |
| DupliObject * | DRW_object_get_dupli (const Object *) |
Viewport (DRW_viewport) | |
| void | DRW_render_viewport_size_set (const int size[2]) |
| const float * | DRW_viewport_size_get () |
| const float * | DRW_viewport_invert_size_get () |
| const float * | DRW_viewport_pixelsize_get () |
| static void | drw_context_state_init () |
| static void | draw_unit_state_create () |
| DRWData * | DRW_viewport_data_create () |
| static void | draw_texture_release (DRWData *drw_data) |
| static void | draw_prune_vlattrs (DRWData *drw_data) |
| static void | drw_viewport_data_reset (DRWData *drw_data) |
| void | DRW_viewport_data_free (DRWData *drw_data) |
| static DRWData * | drw_viewport_data_ensure (GPUViewport *viewport) |
| static void | drw_manager_init (DRWManager *dst, GPUViewport *viewport, const int size[2]) |
| static void | drw_manager_exit (DRWManager *dst) |
| DefaultFramebufferList * | DRW_viewport_framebuffer_list_get () |
| DefaultTextureList * | DRW_viewport_texture_list_get () |
| blender::draw::TextureFromPool & | DRW_viewport_pass_texture_get (const char *pass_name) |
| void | DRW_viewport_request_redraw () |
Duplis | |
| static uint | dupli_key_hash (const void *key) |
| static bool | dupli_key_cmp (const void *key1, const void *key2) |
| static void | drw_duplidata_load (Object *ob) |
| static void | duplidata_value_free (void *val) |
| static void | duplidata_key_free (void *key) |
| static void | drw_duplidata_free () |
| void ** | DRW_duplidata_get (void *vedata) |
ViewLayers (DRW_scenelayer) | |
| void * | DRW_view_layer_engine_data_get (DrawEngineType *engine_type) |
| void ** | DRW_view_layer_engine_data_ensure_ex (ViewLayer *view_layer, DrawEngineType *engine_type, void(*callback)(void *storage)) |
| void ** | DRW_view_layer_engine_data_ensure (DrawEngineType *engine_type, void(*callback)(void *storage)) |
Draw Data (DRW_drawdata) | |
| static bool | id_type_can_have_drawdata (const short id_type) |
| static bool | id_can_have_drawdata (const ID *id) |
| DrawDataList * | DRW_drawdatalist_from_id (ID *id) |
| DrawData * | DRW_drawdata_get (ID *id, DrawEngineType *engine_type) |
| DrawData * | DRW_drawdata_ensure (ID *id, DrawEngineType *engine_type, size_t size, DrawDataInitCb init_cb, DrawDataFreeCb free_cb) |
| void | DRW_drawdata_free (ID *id) |
| static void | drw_drawdata_unlink_dupli (ID *id) |
Garbage Collection | |
| void | DRW_cache_free_old_batches (Main *bmain) |
Rendering (DRW_engines) | |
| static void | drw_engines_init () |
| static void | drw_engines_cache_init () |
| static void | drw_engines_world_update (Scene *scene) |
| static void | drw_engines_cache_populate (Object *ob) |
| static void | drw_engines_cache_finish () |
| static void | drw_engines_draw_scene () |
| static void | drw_engines_draw_text () |
| void | DRW_draw_region_engine_info (int xoffset, int *yoffset, int line_height) |
| static void | use_drw_engine (DrawEngineType *engine) |
| static void | drw_engines_enable_from_engine (const RenderEngineType *engine_type, eDrawType drawtype) |
| static void | drw_engines_enable_overlays () |
| static void | drw_engines_enable_basic () |
| static void | drw_engine_enable_image_editor () |
| static void | drw_engines_enable_editors () |
| bool | DRW_is_viewport_compositor_enabled () |
| static void | drw_engines_enable (ViewLayer *, RenderEngineType *engine_type, bool gpencil_engine_needed) |
| static void | drw_engines_disable () |
| static void | drw_engines_data_validate () |
| static bool | drw_gpencil_engine_needed (Depsgraph *depsgraph, View3D *v3d) |
View Update | |
| void | DRW_notify_view_update (const DRWUpdateContext *update_ctx) |
| static void | drw_notify_view_update_offscreen (Depsgraph *depsgraph, RenderEngineType *engine_type, ARegion *region, View3D *v3d, GPUViewport *viewport) |
Callbacks | |
| void | DRW_draw_callbacks_pre_scene () |
| void | DRW_draw_callbacks_post_scene () |
| DRWTextStore * | DRW_text_cache_ensure () |
Draw Manager State (DRW_state) | |
| bool | DRW_state_is_fbo () |
| bool | DRW_state_is_select () |
| bool | DRW_state_is_material_select () |
| bool | DRW_state_is_depth () |
| bool | DRW_state_is_image_render () |
| bool | DRW_state_is_scene_render () |
| bool | DRW_state_is_viewport_image_render () |
| bool | DRW_state_is_playback () |
| bool | DRW_state_is_navigating () |
| bool | DRW_state_is_painting () |
| bool | DRW_state_show_text () |
| bool | DRW_state_draw_support () |
| bool | DRW_state_draw_background () |
Context State (DRW_context_state) | |
| const DRWContextState * | DRW_context_state_get () |
Init/Exit (DRW_engines) | |
| bool | DRW_engine_render_support (DrawEngineType *draw_engine_type) |
| void | DRW_engine_register (DrawEngineType *draw_engine_type) |
| void | DRW_engines_register () |
| static void | drw_registered_engines_free () |
| void | DRW_engines_free () |
| void | DRW_render_context_enable (Render *render) |
| void | DRW_render_context_disable (Render *render) |
Init/Exit (DRW_gpu_ctx) | |
| void | DRW_gpu_context_create () |
| void | DRW_gpu_context_destroy () |
| void | DRW_gpu_context_enable_ex (bool) |
| void | DRW_gpu_context_disable_ex (bool restore) |
| void | DRW_gpu_context_enable () |
| void | DRW_gpu_context_disable () |
| void | DRW_system_gpu_render_context_enable (void *re_system_gpu_context) |
| void | DRW_system_gpu_render_context_disable (void *re_system_gpu_context) |
| void | DRW_blender_gpu_render_context_enable (void *re_gpu_context) |
| void | DRW_blender_gpu_render_context_disable (void *) |
Draw manager context release/activation | |
These functions are used in cases when an GPU context creation is needed during the draw. This happens, for example, when an external engine needs to create its own GPU context from the engine initialization. Example of context creation: const bool drw_state = DRW_gpu_context_release(); system_gpu_context = WM_system_gpu_context_create(); DRW_gpu_context_activate(drw_state); Example of context destruction: const bool drw_state = DRW_gpu_context_release(); WM_system_gpu_context_activate(system_gpu_context); WM_system_gpu_context_dispose(system_gpu_context); DRW_gpu_context_activate(drw_state); NOTE: Will only perform context modification when on main thread. This way these functions can be used in an engine without check on whether it is a draw manager which manages GPU context on the current thread. The downside of this is that if the engine performs GPU creation from a non-main thread, that thread is supposed to not have GPU context ever bound by Blender. | |
| bool | DRW_gpu_context_release () |
| void | DRW_gpu_context_activate (bool drw_state) |
Variables | ||
| static CLG_LogRef | LOG = {"draw.manager"} | |
| DRWManager | DST = {nullptr} | |
| struct { | ||
| ListBase engines | ||
| int len | ||
| } | g_registered_engines = {{nullptr}} | |
Main Draw Loops (DRW_draw) | |
| static struct DRWSelectBuffer | g_select_buffer = {nullptr} |
| void | DRW_draw_view (const bContext *C) |
| void | DRW_draw_render_loop_ex (Depsgraph *depsgraph, RenderEngineType *engine_type, ARegion *region, View3D *v3d, GPUViewport *viewport, const bContext *evil_C) |
| void | DRW_draw_render_loop (Depsgraph *depsgraph, ARegion *region, View3D *v3d, GPUViewport *viewport) |
| void | DRW_draw_render_loop_offscreen (Depsgraph *depsgraph, RenderEngineType *engine_type, ARegion *region, View3D *v3d, const bool is_image_render, const bool draw_background, const bool do_color_management, GPUOffScreen *ofs, GPUViewport *viewport) |
| bool | DRW_render_check_grease_pencil (Depsgraph *depsgraph) |
| static void | DRW_render_gpencil_to_image (RenderEngine *engine, RenderLayer *render_layer, const rcti *rect) |
| void | DRW_render_gpencil (RenderEngine *engine, Depsgraph *depsgraph) |
| void | DRW_render_to_image (RenderEngine *engine, Depsgraph *depsgraph) |
| void | DRW_render_object_iter (void *vedata, RenderEngine *engine, Depsgraph *depsgraph, void(*callback)(void *vedata, Object *ob, RenderEngine *engine, Depsgraph *depsgraph)) |
| void | DRW_custom_pipeline_begin (DrawEngineType *draw_engine_type, Depsgraph *depsgraph) |
| void | DRW_custom_pipeline_end () |
| void | DRW_custom_pipeline (DrawEngineType *draw_engine_type, Depsgraph *depsgraph, void(*callback)(void *vedata, void *user_data), void *user_data) |
| void | DRW_cache_restart () |
| void | DRW_draw_render_loop_2d_ex (Depsgraph *depsgraph, ARegion *region, GPUViewport *viewport, const bContext *evil_C) |
| static void | draw_select_framebuffer_depth_only_setup (const int size[2]) |
| void | DRW_render_instance_buffer_finish () |
| void | DRW_render_set_time (RenderEngine *engine, Depsgraph *depsgraph, int frame, float subframe) |
| void | DRW_draw_select_loop (Depsgraph *depsgraph, ARegion *region, View3D *v3d, bool use_obedit_skip, bool draw_surface, bool, const bool do_material_sub_selection, const rcti *rect, DRW_SelectPassFn select_pass_fn, void *select_pass_user_data, DRW_ObjectFilterFn object_filter_fn, void *object_filter_user_data) |
| void | DRW_draw_depth_loop (Depsgraph *depsgraph, ARegion *region, View3D *v3d, GPUViewport *viewport, const bool use_gpencil, const bool use_basic, const bool use_overlay, const bool use_only_selected) |
| void | DRW_draw_select_id (Depsgraph *depsgraph, ARegion *region, View3D *v3d) |
| void | DRW_draw_depth_object (Scene *scene, ARegion *region, View3D *v3d, GPUViewport *viewport, Object *object) |
| bool | DRW_draw_in_progress () |
|
static |
Definition at line 420 of file draw_manager_c.cc.
References BLI_freelinkN(), BLI_ghash_remove(), LISTBASE_FOREACH_MUTABLE, POINTER_FROM_UINT, DRWData::vlattrs_name_cache, DRWData::vlattrs_name_list, and DRWData::vlattrs_ubo_ready.
Referenced by drw_viewport_data_reset().
|
static |
Definition at line 2360 of file draw_manager_c.cc.
References DRWSelectBuffer::framebuffer_depth_only, g_select_buffer, GPU_DEPTH_COMPONENT24, GPU_framebuffer_check_valid(), GPU_framebuffer_create(), GPU_framebuffer_texture_attach(), GPU_texture_create_2d(), GPU_texture_free(), GPU_texture_height(), GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_SHADER_READ, GPU_texture_width(), and DRWSelectBuffer::texture_depth.
Referenced by DRW_draw_select_loop().
|
static |
Definition at line 409 of file draw_manager_c.cc.
References BLI_memblock_iternew(), BLI_memblock_iterstep(), GPU_texture_free(), DRWData::images, and tex.
Referenced by DRW_viewport_data_free(), and drw_viewport_data_reset().
|
static |
Definition at line 342 of file draw_manager_c.cc.
References BLI_memblock_alloc(), DRWCullingState::bsphere, copy_v3_fl(), DRWData::cullstates, DRW_handle_increment(), DST, DRWObjectMatrix::model, DRWObjectMatrix::modelinverse, DRWObjectInfos::ob_color, DRWObjectInfos::ob_flag, DRWObjectInfos::ob_index, DRWObjectInfos::ob_random, DRWData::obinfos, DRWData::obmats, DRWObjectInfos::orcotexfac, BoundSphere::radius, DRWManager::resource_handle, unit_m4(), DRWCullingState::user_data, and DRWManager::vmempool.
Referenced by drw_manager_init().
| void DRW_blender_gpu_render_context_disable | ( | void * | re_gpu_context | ) |
Definition at line 3349 of file draw_manager_c.cc.
References GPU_context_active_set(), and GPU_flush().
Referenced by DRW_render_context_disable().
| void DRW_blender_gpu_render_context_enable | ( | void * | re_gpu_context | ) |
Definition at line 3341 of file draw_manager_c.cc.
References BLI_assert, BLI_thread_is_main(), and GPU_context_active_set().
Referenced by DRW_render_context_enable().
| void DRW_cache_free_old_batches | ( | Main * | bmain | ) |
Definition at line 985 of file draw_manager_c.cc.
References BKE_scene_get_depsgraph(), BLI_time_now_seconds(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, ListBase::first, DEGObjectIterSettings::flags, int, LISTBASE_FOREACH, scene, and Main::scenes.
Referenced by view3d_main_region_draw().
| void DRW_cache_restart | ( | ) |
Used when the render engine want to redo another cache populate inside the same render frame.
Definition at line 2184 of file draw_manager_c.cc.
References DRWManager::buffer_finish_called, drw_manager_init(), DRW_smoke_exit(), DRW_smoke_init(), DRW_volume_init(), DST, DRWManager::viewport, and DRWManager::vmempool.
Referenced by blender::eevee::Instance::render_sync(), and workbench_render_to_image().
| const DRWContextState * DRW_context_state_get | ( | ) |
Definition at line 3046 of file draw_manager_c.cc.
References DRWManager::draw_ctx, and DST.
Referenced by basic_cache_init(), basic_cache_populate(), camera_view3d_reconstruction(), compositor_engine_update(), blender::eevee::ShadowModule::debug_end_sync(), blender::draw::overlay::Armatures::draw_armature_pose(), drw_batch_cache_generate_requested(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), blender::draw::DRW_curves_pos_buffer_get(), DRW_draw_cursor(), DRW_draw_cursor_2d(), DRW_draw_gizmo_2d(), DRW_draw_gizmo_3d(), DRW_draw_region_info(), DRW_engine_external_acquire_for_image_editor(), DRW_globals_update(), DRW_hair_pos_buffer_get(), DRW_object_is_visible_psys_in_active_context(), DRW_object_wire_theme_get(), blender::draw::drw_particle_get_hair_source(), blender::draw::drw_particle_update_ptcache(), blender::draw::drw_particle_update_ptcache_edit(), DRW_render_object_iter(), drw_sculpt_generate_calls(), blender::draw::DRW_shgroup_curves_create_sub(), DRW_shgroup_hair_create_sub(), blender::draw::DRW_volume_batch_cache_get_wireframes_face(), eevee_engine_init(), eevee_render_to_image(), external_cache_init(), external_cache_populate(), external_draw_scene(), external_draw_scene_do(), external_draw_scene_do_image(), external_draw_scene_do_v3d(), external_engine_init(), external_image_space_matrix_set(), blender::draw::compositor::Context::get_compositing_region(), blender::draw::compositor::Context::get_input_texture(), blender::draw::compositor::Context::get_node_tree(), blender::draw::compositor::Context::get_render_data(), blender::draw::compositor::Context::get_scene(), blender::draw::compositor::Context::get_view_name(), GPENCIL_cache_init(), GPENCIL_engine_init(), GPENCIL_render_result_z(), GPENCIL_render_to_image(), blender::draw::image_engine::IMAGE_cache_init(), blender::draw::image_engine::IMAGE_draw_scene(), blender::draw::image_engine::ImageEngine< DrawingMode >::image_sync(), blender::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::image_sync(), blender::draw::overlay::Instance::init(), blender::workbench::DofPass::init(), blender::workbench::SceneState::init(), is_selection_visible(), motion_path_cache(), blender::eevee::Instance::object_sync(), blender::workbench::ObjectState::ObjectState(), OVERLAY_armature_cache_init(), OVERLAY_armature_cache_populate(), OVERLAY_background_cache_init(), OVERLAY_cache_populate(), OVERLAY_camera_cache_populate(), OVERLAY_draw_scene(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_curves_init(), OVERLAY_edit_gpencil_legacy_cache_init(), OVERLAY_edit_grease_pencil_cache_init(), OVERLAY_edit_grease_pencil_cache_populate(), OVERLAY_edit_mesh_cache_init(), OVERLAY_edit_mesh_cache_populate(), OVERLAY_edit_mesh_init(), OVERLAY_edit_particle_cache_init(), OVERLAY_edit_particle_cache_populate(), OVERLAY_edit_text_cache_init(), OVERLAY_edit_uv_cache_init(), overlay_edit_uv_cache_populate(), OVERLAY_edit_uv_init(), OVERLAY_empty_cache_populate(), OVERLAY_engine_init(), OVERLAY_extra_cache_populate(), OVERLAY_facing_cache_init(), OVERLAY_facing_cache_populate(), OVERLAY_fade_cache_init(), OVERLAY_fade_cache_populate(), OVERLAY_gpencil_legacy_cache_init(), OVERLAY_grease_pencil_cache_init(), overlay_grease_pencil_draw_stroke_color_name(), OVERLAY_grease_pencil_material_names(), OVERLAY_grid_init(), OVERLAY_image_camera_cache_populate(), OVERLAY_image_empty_cache_populate(), OVERLAY_image_init(), OVERLAY_lattice_cache_populate(), OVERLAY_light_cache_populate(), OVERLAY_lightprobe_cache_populate(), OVERLAY_metaball_cache_populate(), OVERLAY_mode_transfer_cache_populate(), OVERLAY_motion_path_cache_populate(), OVERLAY_next_engine_init(), OVERLAY_outline_cache_populate(), OVERLAY_paint_cache_init(), OVERLAY_paint_init(), OVERLAY_particle_cache_init(), OVERLAY_sculpt_cache_populate(), OVERLAY_sculpt_grease_pencil_cache_populate(), OVERLAY_shader_armature_degrees_of_freedom_solid(), OVERLAY_shader_armature_degrees_of_freedom_wire(), OVERLAY_shader_armature_envelope(), OVERLAY_shader_armature_shape(), OVERLAY_shader_armature_shape_wire(), OVERLAY_shader_armature_sphere(), OVERLAY_shader_armature_stick(), OVERLAY_shader_armature_wire(), OVERLAY_shader_depth_only(), OVERLAY_shader_edit_curve_handle(), OVERLAY_shader_edit_curve_point(), OVERLAY_shader_edit_curve_wire(), OVERLAY_shader_edit_curves_handle(), OVERLAY_shader_edit_gpencil_guide_point(), OVERLAY_shader_edit_gpencil_point(), OVERLAY_shader_edit_gpencil_wire(), OVERLAY_shader_edit_lattice_point(), OVERLAY_shader_edit_lattice_wire(), OVERLAY_shader_edit_mesh_analysis(), OVERLAY_shader_edit_mesh_depth(), OVERLAY_shader_edit_mesh_edge(), OVERLAY_shader_edit_mesh_face(), OVERLAY_shader_edit_mesh_facedot(), OVERLAY_shader_edit_mesh_normal(), OVERLAY_shader_edit_mesh_skin_root(), OVERLAY_shader_edit_mesh_vert(), OVERLAY_shader_edit_particle_point(), OVERLAY_shader_edit_particle_strand(), OVERLAY_shader_extra(), OVERLAY_shader_extra_grid(), OVERLAY_shader_extra_groundline(), OVERLAY_shader_extra_loose_point(), OVERLAY_shader_extra_point(), OVERLAY_shader_extra_wire(), OVERLAY_shader_facing(), OVERLAY_shader_gpencil_canvas(), OVERLAY_shader_image(), OVERLAY_shader_motion_path_line(), OVERLAY_shader_motion_path_vert(), OVERLAY_shader_outline_prepass(), OVERLAY_shader_outline_prepass_curves(), OVERLAY_shader_outline_prepass_gpencil(), OVERLAY_shader_outline_prepass_pointcloud(), OVERLAY_shader_paint_face(), OVERLAY_shader_paint_point(), OVERLAY_shader_paint_texture(), OVERLAY_shader_paint_vertcol(), OVERLAY_shader_paint_weight(), OVERLAY_shader_paint_wire(), OVERLAY_shader_particle_dot(), OVERLAY_shader_particle_shape(), OVERLAY_shader_sculpt_curves_cage(), OVERLAY_shader_sculpt_curves_selection(), OVERLAY_shader_sculpt_mask(), OVERLAY_shader_uniform_color(), OVERLAY_shader_uniform_color_pointcloud(), OVERLAY_shader_viewer_attribute_curve(), OVERLAY_shader_viewer_attribute_curves(), OVERLAY_shader_viewer_attribute_mesh(), OVERLAY_shader_viewer_attribute_pointcloud(), OVERLAY_shader_wireframe(), OVERLAY_shader_wireframe_select(), OVERLAY_speaker_cache_populate(), OVERLAY_vertex_grease_pencil_cache_populate(), OVERLAY_weight_grease_pencil_cache_populate(), OVERLAY_wireframe_cache_init(), OVERLAY_wireframe_cache_populate(), OVERLAY_wireframe_init(), blender::draw::particle_batch_cache_ensure_pos(), POSE_is_driven_by_active_armature(), blender::draw::sculpt_batches_get_ex(), select_cache_init(), select_cache_populate(), select_engine_init(), SELECT_next_engine_init(), blender::draw::color_management::viewport_color_management_set(), and workbench_render_to_image().
|
static |
Definition at line 308 of file draw_manager_c.cc.
References BKE_object_pose_armature_get(), DRWManager::draw_ctx, DST, GPU_SHADER_CFG_CLIPPED, GPU_SHADER_CFG_DEFAULT, Object::mode, OB_MODE_ALL_WEIGHT_PAINT, OB_MODE_EDIT, OB_MODE_OBJECT, OB_MODE_POSE, DRWContextState::obact, DRWContextState::object_edit, DRWContextState::object_mode, DRWContextState::object_pose, DRWContextState::rv3d, RV3D_CLIPPING_ENABLED, DRWContextState::sh_cfg, and DRWContextState::v3d.
Referenced by DRW_custom_pipeline_begin(), DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), DRW_render_gpencil(), and DRW_render_to_image().
| void DRW_custom_pipeline | ( | DrawEngineType * | draw_engine_type, |
| Depsgraph * | depsgraph, | ||
| void(* | callback )(void *vedata, void *user_data), | ||
| void * | user_data ) |
Assume a valid GL context is bound (and that the gl_context_mutex has been acquired). This function only setup DST and execute the given function.
dfbl & dtxl). Definition at line 2169 of file draw_manager_c.cc.
References callback, depsgraph, DRW_custom_pipeline_begin(), DRW_custom_pipeline_end(), DRW_view_data_engine_data_get_ensure(), DST, and DRWManager::view_data_active.
| void DRW_custom_pipeline_begin | ( | DrawEngineType * | draw_engine_type, |
| Depsgraph * | depsgraph ) |
Same as DRW_custom_pipeline but allow better code-flow than a callback.
Definition at line 2118 of file draw_manager_c.cc.
References DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWContextState::depsgraph, DRWManager::draw_background, DRWManager::draw_ctx, drw_context_state_init(), drw_manager_init(), DRW_smoke_init(), drw_state_prepare_clean_for_draw(), DRW_view_data_engine_data_get_ensure(), DRW_volume_init(), DST, DRWContextState::engine_type, DRWManager::is_image_render, DRWManager::is_scene_render, OB_MODE_OBJECT, DRWContextState::object_mode, DRWManager::options, DRWContextState::scene, scene, DRWManager::view_data_active, DRWContextState::view_layer, and DRWManager::vmempool.
Referenced by DRW_custom_pipeline(), and blender::eevee::Instance::light_bake_irradiance().
| void DRW_custom_pipeline_end | ( | ) |
Definition at line 2149 of file draw_manager_c.cc.
References DRWManager::buffer_finish_called, drw_manager_exit(), DRW_smoke_exit(), DST, GPU_backend_get_type(), GPU_BACKEND_OPENGL, GPU_finish(), GPU_framebuffer_restore(), and DRWManager::vmempool.
Referenced by DRW_custom_pipeline(), and blender::eevee::Instance::light_bake_irradiance().
| void DRW_draw_callbacks_post_scene | ( | ) |
Definition at line 1468 of file draw_manager_c.cc.
References BKE_regiontype_from_id(), BKE_spacetype_from_id(), DEG_get_input_scene(), depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, drw_debug_draw(), DRW_draw_gizmo_2d(), DRW_draw_gizmo_3d(), DRW_draw_region_info(), drw_draw_show_annotation(), drw_engines_draw_text(), DRW_state_reset(), DRW_stats_draw(), DRW_viewport_framebuffer_list_get(), DST, ED_annotation_draw_view3d(), ED_region_draw_cb_draw(), ED_region_surface_draw_cb_draw(), ED_region_visible_rect(), DRWContextState::evil_C, View3D::flag, View3D::flag2, G, View3D::gizmo_flag, GPU_apply_state(), GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_framebuffer_bind(), GPU_matrix_projection_set, GPU_matrix_set, DefaultFramebufferList::overlay_fb, DRWContextState::region, REGION_DRAW_POST_VIEW, RGN_TYPE_XR, DRWContextState::rv3d, SPACE_VIEW3D, DRWContextState::v3d, V3D_GIZMO_HIDE, V3D_HIDE_OVERLAYS, V3D_SHOW_ANNOTATION, V3D_XR_SESSION_MIRROR, V3D_XR_SESSION_SURFACE, V3D_XR_SHOW_CONTROLLERS, V3D_XR_SHOW_CUSTOM_OVERLAYS, RegionView3D::viewmat, RegionView3D::winmat, and WM_xr_surface_controller_region_type_get().
Referenced by DRW_draw_render_loop_ex().
| void DRW_draw_callbacks_pre_scene | ( | ) |
Definition at line 1453 of file draw_manager_c.cc.
References DRWManager::draw_ctx, DRW_state_reset(), DST, ED_region_draw_cb_draw(), DRWContextState::evil_C, GPU_matrix_projection_set, GPU_matrix_set, DRWContextState::region, REGION_DRAW_PRE_VIEW, DRWContextState::rv3d, RegionView3D::viewmat, and RegionView3D::winmat.
Referenced by DRW_draw_render_loop_ex(), and DRW_draw_select_loop().
| void DRW_draw_depth_loop | ( | Depsgraph * | depsgraph, |
| ARegion * | region, | ||
| View3D * | v3d, | ||
| GPUViewport * | viewport, | ||
| const bool | use_gpencil, | ||
| const bool | use_basic, | ||
| const bool | use_overlay, | ||
| const bool | use_only_selected ) |
Object mode select-loop.
Definition at line 2649 of file draw_manager_c.cc.
References BASE_SELECTED, BKE_object_is_visible_in_viewport(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, draw_engine_gpencil_type, drw_context_state_init(), drw_duplidata_free(), drw_duplidata_load(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_enable_basic(), drw_engines_enable_overlays(), drw_engines_init(), drw_engines_world_update(), DRW_globals_update(), drw_manager_exit(), drw_manager_init(), DRW_render_instance_buffer_finish(), DRW_smoke_exit(), DRW_smoke_init(), drw_state_prepare_clean_for_draw(), DRW_state_reset(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_volume_init(), DST, DRWManager::dupli_origin, DRWManager::dupli_origin_data, DRWManager::dupli_parent, DRWManager::dupli_source, ED_view3d_engine_type(), DRWContextState::engine_type, View3D::flag2, DEGObjectIterSettings::flags, GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_framebuffer_bind(), GPU_framebuffer_clear_depth(), GPU_framebuffer_ensure_config, GPU_framebuffer_free(), GPU_framebuffer_restore(), GPU_viewport_depth_texture(), DRWManager::is_depth, DRWContextState::obact, View3D::object_type_exclude_viewport, DRWManager::options, DRWContextState::region, DRWContextState::rv3d, DRWContextState::scene, scene, View3D::shading, View3DShading::type, use_drw_engine(), DRWContextState::v3d, V3D_SHOW_VIEWER, DRWContextState::view_layer, DEGObjectIterSettings::viewer_path, View3D::viewer_path, and DRWManager::vmempool.
Referenced by ED_view3d_depth_override().
| void DRW_draw_depth_object | ( | Scene * | scene, |
| ARegion * | region, | ||
| View3D * | v3d, | ||
| GPUViewport * | viewport, | ||
| Object * | object ) |
Clears the Depth Buffer and draws only the specified object.
Definition at line 2869 of file draw_manager_c.cc.
References batch, BLI_task_graph_create(), BLI_task_graph_free(), BLI_task_graph_work_and_wait(), RegionView3D::clip_local, copy_m4_m4(), copy_v4_v4(), drw_batch_cache_validate(), ED_view3d_clipping_local(), GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_batch_draw(), GPU_batch_program_set_builtin_with_config(), GPU_batch_uniformbuf_bind, GPU_clip_distances(), GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_framebuffer_bind(), GPU_framebuffer_clear_depth(), GPU_framebuffer_ensure_config, GPU_framebuffer_free(), GPU_framebuffer_restore(), GPU_matrix_mul, GPU_matrix_projection_set, GPU_matrix_set, GPU_SHADER_3D_DEPTH_ONLY, GPU_SHADER_CFG_CLIPPED, GPU_SHADER_CFG_DEFAULT, GPU_uniformbuf_create_ex(), GPU_uniformbuf_free(), GPU_viewport_depth_texture(), OB_CURVES_LEGACY, OB_MESH, OB_MODE_EDIT, OB_SURF, RV3D_CLIPPING_ENABLED, RegionView3D::viewmat, and RegionView3D::winmat.
Referenced by ED_view3d_depth_override().
| bool DRW_draw_in_progress | ( | ) |
Query that drawing is in progress (use to prevent nested draw calls).
Definition at line 2953 of file draw_manager_c.cc.
References DST, and DRWManager::in_progress.
Referenced by ED_view3d_draw_offscreen_check_nested().
Draw render engine info.
Definition at line 1153 of file draw_manager_c.cc.
References BLF_draw_default(), BLI_strchr_or_end(), DRW_ENABLED_ENGINE_ITER, DST, IFACE_, and DRWManager::view_data_active.
Referenced by view3d_draw_region_info().
| void DRW_draw_render_loop | ( | Depsgraph * | depsgraph, |
| ARegion * | region, | ||
| View3D * | v3d, | ||
| GPUViewport * | viewport ) |
Definition at line 1802 of file draw_manager_c.cc.
References DEG_get_evaluated_scene(), depsgraph, DRW_draw_render_loop_ex(), drw_state_prepare_clean_for_draw(), DST, ED_view3d_engine_type(), View3D::shading, and View3DShading::type.
| void DRW_draw_render_loop_2d_ex | ( | Depsgraph * | depsgraph, |
| ARegion * | region, | ||
| GPUViewport * | viewport, | ||
| const bContext * | evil_C ) |
Definition at line 2199 of file draw_manager_c.cc.
References BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, CTX_wm_space_data(), DRWManager::default_framebuffer, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, drw_context_state_init(), drw_debug_init(), DRW_draw_cursor_2d(), DRW_draw_gizmo_2d(), drw_draw_show_annotation(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_data_validate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_draw_text(), drw_engines_enable_editors(), drw_engines_init(), DRW_globals_update(), drw_manager_exit(), drw_manager_init(), DRW_render_instance_buffer_finish(), DRW_state_reset(), DRW_stats_begin(), DRW_stats_draw(), DRW_stats_reset(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_view_data_cache_time_get(), DRW_viewport_colormanagement_set(), DRW_viewport_framebuffer_list_get(), DST, ED_annotation_draw_view2d(), ED_region_draw_cb_draw(), ED_region_pixelspace(), ED_region_visible_rect(), DRWContextState::evil_C, DEGObjectIterSettings::flags, G, GPU_BACKEND_OPENGL, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_DEVICE_ANY, GPU_DRIVER_ANY, GPU_flush(), GPU_framebuffer_active_get(), GPU_framebuffer_back_get(), GPU_framebuffer_bind(), GPU_framebuffer_clear_depth_stencil(), GPU_framebuffer_restore(), GPU_matrix_pop_projection(), GPU_matrix_push_projection(), GPU_OS_ANY, GPU_type_matches_ex(), DRWContextState::obact, DefaultFramebufferList::overlay_fb, PROFILE_END_UPDATE, PROFILE_START, DRWContextState::region, REGION_DRAW_POST_VIEW, REGION_DRAW_PRE_VIEW, DRWContextState::scene, scene, DRWContextState::space_data, SPACE_IMAGE, SpaceLink::spacetype, DRWManager::view_data_active, DRWContextState::view_layer, WM_draw_region_get_bound_viewport(), and wmOrtho2().
Referenced by DRW_draw_view().
| void DRW_draw_render_loop_ex | ( | Depsgraph * | depsgraph, |
| RenderEngineType * | engine_type, | ||
| ARegion * | region, | ||
| View3D * | v3d, | ||
| GPUViewport * | viewport, | ||
| const bContext * | evil_C ) |
Used for both regular and off-screen drawing. Need to reset DST before calling this function
Definition at line 1657 of file draw_manager_c.cc.
References BKE_object_is_visible_in_viewport(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, DRWManager::default_framebuffer, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, drw_context_state_init(), drw_debug_init(), DRW_draw_callbacks_post_scene(), DRW_draw_callbacks_pre_scene(), drw_duplidata_free(), drw_duplidata_load(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_data_validate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_enable(), drw_engines_init(), drw_engines_world_update(), DRW_globals_update(), drw_gpencil_engine_needed(), drw_manager_exit(), drw_manager_init(), DRW_render_instance_buffer_finish(), DRW_smoke_exit(), DRW_smoke_init(), DRW_state_reset(), DRW_stats_begin(), DRW_stats_reset(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_view_data_cache_time_get(), DRW_viewport_colormanagement_set(), DRW_volume_init(), DST, DRWManager::dupli_origin, DRWManager::dupli_origin_data, DRWManager::dupli_parent, DRWManager::dupli_source, DRWContextState::engine_type, DRWContextState::evil_C, RenderEngineType::flag, View3D::flag2, DEGObjectIterSettings::flags, GPU_BACKEND_OPENGL, GPU_DEVICE_ANY, GPU_DRIVER_ANY, GPU_flush(), GPU_framebuffer_active_get(), GPU_framebuffer_back_get(), GPU_framebuffer_bind(), GPU_framebuffer_clear_depth_stencil(), GPU_framebuffer_restore(), GPU_OS_ANY, GPU_type_matches_ex(), OB_RENDER, DRWContextState::obact, View3D::object_type_exclude_viewport, PROFILE_END_UPDATE, PROFILE_START, RE_INTERNAL, DRWContextState::region, DRWContextState::rv3d, DRWContextState::scene, scene, View3D::shading, View3DShading::type, DRWContextState::v3d, V3D_HIDE_OVERLAYS, V3D_SHOW_VIEWER, DRWManager::view_data_active, DRWContextState::view_layer, DEGObjectIterSettings::viewer_path, View3D::viewer_path, DRWManager::vmempool, and WM_draw_region_get_bound_viewport().
Referenced by DRW_draw_render_loop(), DRW_draw_render_loop_offscreen(), and DRW_draw_view().
| void DRW_draw_render_loop_offscreen | ( | Depsgraph * | depsgraph, |
| RenderEngineType * | engine_type, | ||
| ARegion * | region, | ||
| View3D * | v3d, | ||
| bool | is_image_render, | ||
| bool | draw_background, | ||
| bool | do_color_management, | ||
| GPUOffScreen * | ofs, | ||
| GPUViewport * | viewport ) |
| viewport | can be NULL, in this case we create one. |
Definition at line 1816 of file draw_manager_c.cc.
References depsgraph, draw_background(), DRWManager::draw_background, DRW_draw_render_loop_ex(), drw_notify_view_update_offscreen(), drw_state_prepare_clean_for_draw(), DST, ELEM, View3D::flag, View3DShading::flag, View3D::flag2, GPU_blend(), GPU_BLEND_ALPHA_PREMULT, GPU_BLEND_NONE, GPU_clear_color(), GPU_framebuffer_restore(), GPU_matrix_identity_projection_set(), GPU_matrix_identity_set(), GPU_offscreen_bind(), GPU_viewport_bind_from_offscreen(), GPU_viewport_create(), GPU_viewport_free(), GPU_viewport_unbind_from_offscreen(), DRWManager::is_image_render, OB_MATERIAL, OB_RENDER, OB_SOLID, OB_WIRE, DRWManager::options, View3D::shading, View3DShading::type, V3D_HIDE_OVERLAYS, V3D_SHADING_SCENE_WORLD, V3D_SHADING_SCENE_WORLD_RENDER, and V3D_XR_SESSION_SURFACE.
Referenced by ED_view3d_draw_offscreen().
Definition at line 2777 of file draw_manager_c.cc.
References BKE_object_is_visible_in_viewport(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), DRWManager::buffer_finish_called, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, draw_engine_select_type, drw_context_state_init(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_init(), DRW_globals_update(), drw_manager_exit(), drw_manager_init(), DRW_object_is_in_edit_mode(), DRW_render_instance_buffer_finish(), drw_resource_buffer_finish(), DRW_select_engine_context_get(), drw_state_prepare_clean_for_draw(), DRW_state_reset(), drw_task_graph_deinit(), drw_task_graph_init(), DST, DEGObjectIterSettings::flags, SELECTID_Context::index_drawn_len, OB_MESH, DRWContextState::obact, SELECTID_Context::objects, DRWContextState::region, RETOPOLOGY_ENABLED, RGN_TYPE_WINDOW, DRWContextState::rv3d, DRWContextState::scene, scene, SPACE_VIEW3D, UI_SetTheme(), use_drw_engine(), DRWContextState::v3d, DRWContextState::view_layer, DRWManager::vmempool, WM_draw_region_get_viewport(), and XRAY_ENABLED.
Referenced by DRW_select_buffer_read().
| void DRW_draw_select_loop | ( | Depsgraph * | depsgraph, |
| ARegion * | region, | ||
| View3D * | v3d, | ||
| bool | use_obedit_skip, | ||
| bool | draw_surface, | ||
| bool | use_nearest, | ||
| bool | do_material_sub_selection, | ||
| const rcti * | rect, | ||
| DRW_SelectPassFn | select_pass_fn, | ||
| void * | select_pass_user_data, | ||
| DRW_ObjectFilterFn | object_filter_fn, | ||
| void * | object_filter_user_data ) |
Object mode select-loop.
Definition at line 2401 of file draw_manager_c.cc.
References BASE_ENABLED_AND_VISIBLE_IN_DEFAULT_VIEWPORT, BASE_FROM_DUPLI, BASE_SELECTABLE, BKE_modifiers_is_deformed_by_armature(), BKE_object_is_visible_in_viewport(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, BLI_rcti_size_x(), BLI_rcti_size_y(), DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, DRWContextState::depsgraph, DefaultTextureList::depth, DRWManager::draw_ctx, draw_engine_gpencil_type, draw_engine_select_next_type, draw_select_framebuffer_depth_only_setup(), drw_context_state_init(), DRW_draw_callbacks_pre_scene(), drw_duplidata_free(), drw_duplidata_load(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_data_validate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_enable_basic(), drw_engines_enable_overlays(), drw_engines_init(), drw_engines_world_update(), DRW_globals_update(), drw_gpencil_engine_needed(), drw_manager_exit(), drw_manager_init(), DRW_render_instance_buffer_finish(), DRW_select_load_id(), DRW_SELECT_PASS_POST, DRW_SELECT_PASS_PRE, DRW_smoke_exit(), DRW_smoke_init(), DRW_STATE_DEPTH_TEST_ENABLED, DRW_state_lock(), drw_state_prepare_clean_for_draw(), DRW_state_reset(), DRW_STATE_WRITE_DEPTH, drw_task_graph_deinit(), drw_task_graph_init(), DRW_viewport_texture_list_get(), DRW_volume_init(), DST, DRWManager::dupli_origin, DRWManager::dupli_origin_data, DRWManager::dupli_parent, DRWManager::dupli_source, ED_view3d_engine_type(), DRWContextState::engine_type, View3DOverlay::flag, View3D::flag2, DEGObjectIterSettings::flags, FOREACH_OBJECT_IN_MODE_BEGIN, FOREACH_OBJECT_IN_MODE_END, DRWSelectBuffer::framebuffer_depth_only, g_select_buffer, GPU_framebuffer_bind(), GPU_framebuffer_clear_depth(), GPU_framebuffer_restore(), DRWManager::is_material_select, DRWManager::is_select, Object::mode, OB_ARMATURE, OB_MBALL, OB_MODE_POSE, DRWContextState::obact, OBEDIT_FROM_OBACT, DRWContextState::object_pose, View3D::object_type_exclude_select, View3D::object_type_exclude_viewport, OBPOSE_FROM_OBACT, OBWEIGHTPAINT_FROM_OBACT, DRWManager::options, View3D::overlay, DRWContextState::region, DRWContextState::rv3d, DRWContextState::scene, scene, View3D::shading, DRWSelectBuffer::texture_depth, Object::type, View3DShading::type, UNUSED_VARS, use_drw_engine(), DRWContextState::v3d, V3D_HIDE_OVERLAYS, V3D_OVERLAY_BONE_SELECT, V3D_SHOW_VIEWER, DRWContextState::view_layer, DEGObjectIterSettings::viewer_path, View3D::viewer_path, and DRWManager::vmempool.
Referenced by view3d_opengl_select_ex().
|
static |
Definition at line 134 of file draw_manager_c.cc.
References BLI_assert, DRWManager::draw_ctx, DST, SpaceImage::flag, View3D::flag2, SI_SHOW_GPENCIL, DRWContextState::space_data, SPACE_IMAGE, SPACE_NODE, SpaceLink::spacetype, DRWContextState::v3d, V3D_HIDE_OVERLAYS, and V3D_SHOW_ANNOTATION.
Referenced by DRW_draw_callbacks_post_scene(), and DRW_draw_render_loop_2d_ex().
| void DRW_draw_view | ( | const bContext * | C | ) |
Everything starts here. This function takes care of calling all cache and rendering functions for each relevant engine / mode engine.
Definition at line 1630 of file draw_manager_c.cc.
References CTX_data_expect_evaluated_depsgraph(), CTX_wm_region(), CTX_wm_view3d(), DEG_get_evaluated_scene(), depsgraph, DRWManager::draw_background, DRWManager::draw_text, DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), drw_state_prepare_clean_for_draw(), DST, ED_view3d_engine_type(), View3DOverlay::flag, View3D::flag2, OB_RENDER, DRWManager::options, View3D::overlay, R_ADDSKY, View3D::shading, View3DShading::type, V3D_HIDE_OVERLAYS, V3D_OVERLAY_HIDE_TEXT, and WM_draw_region_get_bound_viewport().
Referenced by blender::ed::space_node::draw_nodespace_back_pix(), image_main_region_draw(), and view3d_draw_view().
| DrawData * DRW_drawdata_ensure | ( | ID * | id, |
| DrawEngineType * | engine_type, | ||
| size_t | size, | ||
| DrawDataInitCb | init_cb, | ||
| DrawDataFreeCb | free_cb ) |
Definition at line 903 of file draw_manager_c.cc.
References BASE_FROM_DUPLI, BLI_addtail(), BLI_assert, DRW_drawdata_get(), DRW_drawdatalist_from_id(), DRW_instance_data_next(), DRW_instance_data_request(), DST, DrawData::engine_type, float, DrawData::free, GS, id_can_have_drawdata(), ID_OB, DRWData::idatalist, MAX_INSTANCE_DATA_SIZE, MEM_callocN, DRWManager::object_instance_data, and DRWManager::vmempool.
Referenced by blender::draw::compositor::Context::query_id_recalc_flag(), blender::render::Context::query_id_recalc_flag(), select_cache_init(), and select_draw_scene().
| void DRW_drawdata_free | ( | ID * | id | ) |
Definition at line 948 of file draw_manager_c.cc.
References BLI_freelistN(), DRW_drawdatalist_from_id(), and LISTBASE_FOREACH.
Referenced by image_free_data(), mask_free_data(), movie_clip_free_data(), object_free_data(), scene_free_data(), texture_free_data(), and world_free_data().
| DrawData * DRW_drawdata_get | ( | ID * | id, |
| DrawEngineType * | engine_type ) |
Definition at line 887 of file draw_manager_c.cc.
References DRW_drawdatalist_from_id(), and LISTBASE_FOREACH.
Referenced by DRW_drawdata_ensure(), DRW_select_buffer_context_offset_for_object_elem(), SELECTID_Context::is_dirty(), and select_cache_populate().
|
static |
Definition at line 966 of file draw_manager_c.cc.
References BASE_FROM_DUPLI, BLI_listbase_clear(), DRW_drawdatalist_from_id(), GS, and ID_OB.
Referenced by drw_engines_cache_populate().
| DrawDataList * DRW_drawdatalist_from_id | ( | ID * | id | ) |
Get DrawData from the given ID-block. In order for this to work, we assume that the DrawData pointer is stored in the in the same fashion as in IdDdtTemplate.
Definition at line 873 of file draw_manager_c.cc.
References IdDdtTemplate::drawdata, and id_can_have_drawdata().
Referenced by direct_link_id_common(), DRW_drawdata_ensure(), DRW_drawdata_free(), DRW_drawdata_get(), drw_drawdata_unlink_dupli(), id_buffer_init_from_id(), blender::deg::RuntimeBackup::init_from_id(), and select_cache_populate().
|
static |
Definition at line 764 of file draw_manager_c.cc.
References BLI_ghash_free(), DST, DRWManager::dupli_ghash, duplidata_key_free(), and duplidata_value_free().
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_ex(), DRW_draw_select_loop(), and DRW_render_object_iter().
| void ** DRW_duplidata_get | ( | void * | vedata | ) |
Return nullptr if not a dupli or a pointer of pointer to the engine data.
Definition at line 772 of file draw_manager_c.cc.
References DST, DRWManager::dupli_datas, DRWManager::dupli_source, ViewportEngineData::engine_type, and DRWRegisteredDrawEngine::index.
Referenced by OVERLAY_duplidata_get().
|
static |
Definition at line 699 of file draw_manager_c.cc.
References BLI_ghash_ensure_p(), BLI_ghash_new(), drw_batch_cache_validate(), DST, DRWManager::dupli_datas, DRWManager::dupli_ghash, dupli_key_cmp(), dupli_key_hash(), DRWManager::dupli_origin, DRWManager::dupli_origin_data, DRWManager::dupli_source, g_registered_engines, MEM_callocN, MEM_freeN(), DupliKey::ob, DupliObject::ob, DupliKey::ob_data, and DupliObject::ob_data.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_ex(), DRW_draw_select_loop(), and DRW_render_object_iter().
|
static |
Definition at line 1209 of file draw_manager_c.cc.
References draw_engine_external_type, draw_engine_image_type, draw_engine_overlay_next_type, draw_engine_overlay_type, DRW_engine_external_acquire_for_image_editor(), and use_drw_engine().
Referenced by drw_engines_enable_editors().
| void DRW_engine_register | ( | DrawEngineType * | draw_engine_type | ) |
Definition at line 3062 of file draw_manager_c.cc.
References BLI_addtail(), BLI_listbase_count(), DRWRegisteredDrawEngine::draw_engine, g_registered_engines, DRWRegisteredDrawEngine::index, and MEM_mallocN.
Referenced by DRW_engines_register(), and RE_engines_register().
| bool DRW_engine_render_support | ( | DrawEngineType * | draw_engine_type | ) |
Definition at line 3057 of file draw_manager_c.cc.
References DrawEngineType::render_to_image.
|
static |
Definition at line 1110 of file draw_manager_c.cc.
References DRW_ENABLED_ENGINE_ITER, DRW_manager_end_sync(), DST, and DRWManager::view_data_active.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), and DRW_draw_select_loop().
|
static |
Definition at line 1042 of file draw_manager_c.cc.
References DRW_ENABLED_ENGINE_ITER, DRW_manager_begin_sync(), DRW_text_cache_destroy(), DST, DRWManager::text_store_p, and DRWManager::view_data_active.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), and DRW_draw_select_loop().
|
static |
Definition at line 1074 of file draw_manager_c.cc.
References drw_batch_cache_generate_requested(), drw_batch_cache_validate(), drw_drawdata_unlink_dupli(), DRW_ENABLED_ENGINE_ITER, DST, DRWManager::dupli_source, Object::id, DRWManager::ob_handle, and DRWManager::view_data_active.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), and DRW_draw_select_loop().
|
static |
Definition at line 1309 of file draw_manager_c.cc.
References DRW_view_data_free_unused(), DST, and DRWManager::view_data_active.
Referenced by DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_loop(), DRW_notify_view_update(), and drw_notify_view_update_offscreen().
|
static |
Definition at line 1304 of file draw_manager_c.cc.
References DRW_view_data_reset(), DST, and DRWManager::view_data_active.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), DRW_notify_view_update(), and drw_notify_view_update_offscreen().
|
static |
Definition at line 1121 of file draw_manager_c.cc.
References DRWManager::default_framebuffer, DRW_ENABLED_ENGINE_ITER, DRW_state_is_fbo(), DRW_state_reset(), DRW_stats_group_end(), DRW_stats_group_start(), DST, GPU_framebuffer_bind(), PROFILE_END_UPDATE, PROFILE_START, and DRWManager::view_data_active.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), and DRW_draw_select_loop().
|
static |
Definition at line 1140 of file draw_manager_c.cc.
References DRWManager::draw_ctx, DRW_ENABLED_ENGINE_ITER, DRW_text_cache_draw(), DST, PROFILE_END_UPDATE, PROFILE_START, DRWContextState::region, DRWContextState::v3d, and DRWManager::view_data_active.
Referenced by DRW_draw_callbacks_post_scene(), and DRW_draw_render_loop_2d_ex().
|
static |
Definition at line 1278 of file draw_manager_c.cc.
References DRWManager::draw_ctx, draw_engine_compositor_type, draw_engine_debug_select_type, draw_engine_gpencil_type, drw_engines_enable_from_engine(), drw_engines_enable_overlays(), DRW_is_viewport_compositor_enabled(), DST, G, OB_SOLID, View3D::shading, View3DShading::type, use_drw_engine(), DRWContextState::v3d, and XRAY_ENABLED.
Referenced by DRW_draw_render_loop_ex(), DRW_notify_view_update(), and drw_notify_view_update_offscreen().
|
static |
Use for select and depth-drawing.
Definition at line 1204 of file draw_manager_c.cc.
References draw_engine_basic_type, and use_drw_engine().
Referenced by DRW_draw_depth_loop(), and DRW_draw_select_loop().
|
static |
Definition at line 1222 of file draw_manager_c.cc.
References DRWManager::draw_ctx, draw_engine_image_type, draw_engine_overlay_next_type, draw_engine_overlay_type, drw_engine_enable_image_editor(), DST, SpaceNode::flag, SNODE_BACKDRAW, DRWContextState::space_data, SPACE_IMAGE, SPACE_NODE, SpaceLink::spacetype, and use_drw_engine().
Referenced by DRW_draw_render_loop_2d_ex().
|
static |
Definition at line 1176 of file draw_manager_c.cc.
References RenderEngineType::draw_engine, DRW_engine_viewport_external_type, DRW_engine_viewport_workbench_type, RenderEngineType::flag, OB_MATERIAL, OB_RENDER, OB_SOLID, OB_WIRE, RE_INTERNAL, and use_drw_engine().
Referenced by drw_engines_enable().
|
static |
Definition at line 1196 of file draw_manager_c.cc.
References draw_engine_overlay_next_type, draw_engine_overlay_type, and use_drw_engine().
Referenced by DRW_draw_depth_loop(), DRW_draw_select_loop(), and drw_engines_enable().
| void DRW_engines_free | ( | ) |
Definition at line 3149 of file draw_manager_c.cc.
References DRW_Global::block_ubo, DRW_Global::clipping_ubo, DRWManager::debug, DRWManager::draw_list, drw_debug_module_free(), DRW_globals_free(), DRW_gpu_context_disable(), DRW_gpu_context_enable(), drw_registered_engines_free(), DRW_shaders_free(), DRW_shape_cache_free(), DRW_stats_free(), DRW_TEXTURE_FREE_SAFE, DRW_UBO_FREE_SAFE, DRW_volume_free(), DST, DRWSelectBuffer::framebuffer_depth_only, G_draw, g_select_buffer, GPU_draw_list_discard(), GPU_FRAMEBUFFER_FREE_SAFE, DRW_Global::ramp, DRWManager::system_gpu_context, DRWSelectBuffer::texture_depth, DRW_Global::view_ubo, and DRW_Global::weight_ramp.
Referenced by RE_engines_exit().
|
static |
Definition at line 1026 of file draw_manager_c.cc.
References DRW_ENABLED_ENGINE_ITER, DST, PROFILE_END_UPDATE, PROFILE_START, DrawEngineDataSize::psl_len, and DRWManager::view_data_active.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), and DRW_draw_select_loop().
| void DRW_engines_register | ( | ) |
Definition at line 3073 of file draw_manager_c.cc.
References BKE_curve_batch_cache_dirty_tag_cb, BKE_curve_batch_cache_free_cb, BKE_curves_batch_cache_dirty_tag_cb, BKE_curves_batch_cache_free_cb, BKE_gpencil_batch_cache_dirty_tag_cb, BKE_gpencil_batch_cache_free_cb, BKE_grease_pencil_batch_cache_dirty_tag_cb, BKE_grease_pencil_batch_cache_free_cb, BKE_lattice_batch_cache_dirty_tag_cb, BKE_lattice_batch_cache_free_cb, BKE_mesh_batch_cache_dirty_tag_cb, BKE_mesh_batch_cache_free_cb, BKE_particle_batch_cache_dirty_tag_cb, BKE_particle_batch_cache_free_cb, BKE_pointcloud_batch_cache_dirty_tag_cb, BKE_pointcloud_batch_cache_free_cb, BKE_subsurf_modifier_free_gpu_cache_cb, BKE_volume_batch_cache_dirty_tag_cb, BKE_volume_batch_cache_free_cb, RenderEngineType::draw_engine, draw_engine_basic_type, draw_engine_compositor_type, draw_engine_debug_select_type, draw_engine_gpencil_type, draw_engine_image_type, draw_engine_overlay_next_type, draw_engine_overlay_type, draw_engine_select_next_type, draw_engine_select_type, DRW_engine_register(), DRW_engine_viewport_eevee_next_type, DRW_engine_viewport_external_type, DRW_engine_viewport_workbench_type, and RE_engines_register().
Referenced by RE_engines_init().
|
static |
Definition at line 1061 of file draw_manager_c.cc.
References DRW_ENABLED_ENGINE_ITER, DST, and DRWManager::view_data_active.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_ex(), and DRW_draw_select_loop().
|
static |
Definition at line 1316 of file draw_manager_c.cc.
References DEG_id_type_any_exists(), depsgraph, ID_GD_LEGACY, ID_GP, OB_GPENCIL_LEGACY, OB_GREASE_PENCIL, and View3D::object_type_exclude_viewport.
Referenced by DRW_draw_render_loop_ex(), DRW_draw_select_loop(), DRW_notify_view_update(), drw_notify_view_update_offscreen(), and DRW_render_check_grease_pencil().
| void DRW_gpu_context_activate | ( | bool | drw_state | ) |
Definition at line 3460 of file draw_manager_c.cc.
References DRWManager::blender_gpu_context, BLI_thread_is_main(), DST, GPU_context_active_set(), DRWManager::system_gpu_context, WM_system_gpu_context_activate(), and wm_window_reset_drawable().
Referenced by RE_engine_gpu_context_create(), RE_engine_gpu_context_destroy(), and RE_engine_gpu_context_disable().
| void DRW_gpu_context_create | ( | ) |
Definition at line 3248 of file draw_manager_c.cc.
References DRWManager::blender_gpu_context, BLI_assert, BLI_ticket_mutex_alloc(), DRW_shader_init(), DST, GPU_context_create(), DRWManager::system_gpu_context, DRWManager::system_gpu_context_mutex, WM_system_gpu_context_activate(), WM_system_gpu_context_create(), and wm_window_reset_drawable().
Referenced by WM_init_gpu().
| void DRW_gpu_context_destroy | ( | ) |
Definition at line 3264 of file draw_manager_c.cc.
References DRWManager::blender_gpu_context, BLI_assert, BLI_thread_is_main(), BLI_ticket_mutex_free(), DRW_shader_exit(), DST, GPU_context_active_set(), GPU_context_discard(), DRWManager::system_gpu_context, DRWManager::system_gpu_context_mutex, WM_system_gpu_context_activate(), and WM_system_gpu_context_dispose().
Referenced by WM_exit_ex().
| void DRW_gpu_context_disable | ( | ) |
Definition at line 3319 of file draw_manager_c.cc.
References DRW_gpu_context_disable_ex().
Referenced by DRW_engines_free(), DRW_render_context_disable(), DRW_select_buffer_read(), ED_view3d_draw_offscreen_imbuf(), engine_depsgraph_free(), blender::render::RealtimeCompositor::execute(), GPU_viewport_unbind(), screen_opengl_render_doit(), screen_opengl_render_end(), screen_opengl_render_init(), view3d_opengl_select_ex(), and blender::render::RealtimeCompositor::~RealtimeCompositor().
| void DRW_gpu_context_disable_ex | ( | bool | restore | ) |
Definition at line 3290 of file draw_manager_c.cc.
References BLI_thread_is_main(), BLI_ticket_mutex_unlock(), DST, GPU_context_active_set(), GPU_render_end(), DRWManager::system_gpu_context, DRWManager::system_gpu_context_mutex, WM_system_gpu_context_release(), and wm_window_reset_drawable().
Referenced by DRW_engine_external_free(), DRW_gpu_context_disable(), and WM_exit_ex().
| void DRW_gpu_context_enable | ( | ) |
Definition at line 3309 of file draw_manager_c.cc.
References DRW_gpu_context_enable_ex(), DST, G, DRWManager::system_gpu_context, and WM_init_gpu().
Referenced by DRW_engines_free(), DRW_render_context_enable(), DRW_select_buffer_read(), ED_view3d_draw_offscreen_imbuf(), engine_depsgraph_free(), blender::render::RealtimeCompositor::execute(), GPU_viewport_bind(), screen_opengl_render_doit(), screen_opengl_render_end(), screen_opengl_render_init(), view3d_opengl_select_ex(), and blender::render::RealtimeCompositor::~RealtimeCompositor().
| void DRW_gpu_context_enable_ex | ( | bool | restore | ) |
Definition at line 3277 of file draw_manager_c.cc.
References DRWManager::blender_gpu_context, BLI_ticket_mutex_lock(), DST, GPU_context_active_set(), GPU_render_begin(), DRWManager::system_gpu_context, DRWManager::system_gpu_context_mutex, and WM_system_gpu_context_activate().
Referenced by DRW_engine_external_free(), DRW_gpu_context_enable(), and WM_exit_ex().
| bool DRW_gpu_context_release | ( | ) |
Definition at line 3441 of file draw_manager_c.cc.
References DRWManager::blender_gpu_context, BLI_thread_is_main(), DST, GPU_context_active_get(), GPU_context_active_set(), DRWManager::system_gpu_context, and WM_system_gpu_context_release().
Referenced by RE_engine_gpu_context_create(), RE_engine_gpu_context_destroy(), and RE_engine_gpu_context_enable().
| bool DRW_is_viewport_compositor_enabled | ( | ) |
Definition at line 1243 of file draw_manager_c.cc.
References DRWManager::draw_ctx, DST, Scene::nodetree, OB_MATERIAL, RegionView3D::persp, DRWContextState::rv3d, RV3D_CAMOB, DRWContextState::scene, View3D::shading, View3DShading::type, View3DShading::use_compositor, Scene::use_nodes, DRWContextState::v3d, V3D_SHADING_USE_COMPOSITOR_CAMERA, and V3D_SHADING_USE_COMPOSITOR_DISABLED.
Referenced by drw_engines_enable(), and blender::eevee::Film::is_viewport_compositor_enabled().
|
static |
Definition at line 644 of file draw_manager_c.cc.
References drw_state_ensure_not_reused(), DRW_viewport_data_free(), DRWManager::in_progress, DRWManager::viewport, and DRWManager::vmempool.
Referenced by DRW_custom_pipeline_end(), DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), DRW_notify_view_update(), drw_notify_view_update_offscreen(), DRW_render_gpencil(), and DRW_render_to_image().
|
static |
Sets DST.viewport, DST.size and a lot of other important variables. Needs to be called before enabling any draw engine.
IMPORTANT: drw_manager_init can be called multiple times before drw_manager_exit.
Definition at line 518 of file draw_manager_c.cc.
References BLI_assert, BLI_rctf_transform_calc_m4_pivot_min(), RegionView3D::clip, DRW_Global::clipping_ubo, View2D::cur, DefaultFramebufferList::default_fb, DRWManager::default_framebuffer, DRWManager::draw_ctx, DRWManager::draw_list, draw_unit_state_create(), DRW_DRAWLIST_LEN, DRW_view_clip_planes_set(), DRW_view_create(), DRW_view_data_default_framebuffer_list_get(), DRW_view_data_default_lists_from_viewport(), DRW_view_data_texture_list_size_validate(), DRW_viewport_data_create(), drw_viewport_data_ensure(), drw_viewport_data_reset(), ED_view3d_init_mats_rv3d(), G_draw, GPU_draw_list_create(), GPU_SHADER_CFG_CLIPPED, GPU_texture_height(), GPU_texture_width(), GPU_uniformbuf_create_ex(), GPU_viewport_active_view_get(), GPU_viewport_color_texture(), DRWManager::in_progress, DRWManager::inv_size, DRWContextState::object_edit, DRWManager::object_instance_data, DRWManager::pass_handle, DRWManager::pixsize, RegionView3D::pixsize, DRWManager::primary_view_num, DRWContextState::region, DRWManager::resource_handle, DRWContextState::rv3d, RV3D_BOXCLIP, RV3D_LOCK_FLAGS, DRWContextState::sh_cfg, DRWManager::size, tex, unit_m4(), view, DRWManager::view_active, DRWData::view_data, DRWManager::view_data_active, DRWManager::view_default, DRWManager::view_previous, DRW_Global::view_ubo, RegionView3D::viewmat, DRWManager::viewport, DRWManager::vmempool, and RegionView3D::winmat.
Referenced by DRW_cache_restart(), DRW_custom_pipeline_begin(), DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), DRW_render_gpencil(), and DRW_render_to_image().
| void DRW_notify_view_update | ( | const DRWUpdateContext * | update_ctx | ) |
Definition at line 1330 of file draw_manager_c.cc.
References BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert_unreachable, BLI_ticket_mutex_lock_check_recursive(), BLI_ticket_mutex_unlock(), CLOG_ERROR, depsgraph, DRWContextState::depsgraph, DRWUpdateContext::depsgraph, DRWManager::draw_ctx, drw_engines_data_validate(), drw_engines_disable(), drw_engines_enable(), drw_gpencil_engine_needed(), drw_manager_exit(), drw_state_prepare_clean_for_draw(), DRW_view_data_engines_view_update(), drw_viewport_data_ensure(), DST, DRWContextState::engine_type, DRWUpdateContext::engine_type, GPU_viewport_is_stereo_get(), LOG, OB_MODE_OBJECT, DRWContextState::obact, DRWContextState::object_mode, DRWContextState::region, DRWUpdateContext::region, DRWContextState::rv3d, DRWContextState::scene, DRWUpdateContext::scene, scene, DRWManager::system_gpu_context_mutex, DRWContextState::v3d, DRWUpdateContext::v3d, view, DRWData::view_data, DRWManager::view_data_active, DRWContextState::view_layer, DRWUpdateContext::view_layer, DRWManager::viewport, DRWManager::vmempool, and WM_draw_region_get_viewport().
Referenced by ED_render_view3d_update(), and view3d_do_msg_notify_workbench_view_update().
|
static |
Definition at line 1397 of file draw_manager_c.cc.
References BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, drw_engines_data_validate(), drw_engines_disable(), drw_engines_enable(), drw_gpencil_engine_needed(), drw_manager_exit(), drw_state_prepare_clean_for_draw(), DRW_view_data_engines_view_update(), drw_viewport_data_ensure(), DST, DRWContextState::engine_type, GPU_viewport_do_update(), GPU_viewport_is_stereo_get(), DRWContextState::obact, DRWContextState::region, DRWContextState::rv3d, DRWContextState::scene, scene, DRWContextState::v3d, view, DRWData::view_data, DRWManager::view_data_active, DRWContextState::view_layer, DRWManager::viewport, and DRWManager::vmempool.
Referenced by DRW_draw_render_loop_offscreen().
| DupliObject * DRW_object_get_dupli | ( | const Object * | ob | ) |
Definition at line 273 of file draw_manager_c.cc.
References DST, and DRWManager::dupli_source.
Referenced by DRW_hair_duplimat_get(), blender::draw::overlay::AttributeViewer::object_sync(), blender::eevee::ObjectKey::ObjectKey(), OVERLAY_cache_populate(), OVERLAY_next_cache_populate(), OVERLAY_viewer_attribute_cache_populate(), OVERLAY_viewer_attribute_text(), SELECT_next_cache_populate(), wireframe_hair_cache_populate(), and workbench_cache_populate().
Definition at line 268 of file draw_manager_c.cc.
References DST, and DRWManager::dupli_parent.
Referenced by drw_call_obinfos_init(), DRW_hair_duplimat_get(), DRW_object_wire_theme_get(), blender::eevee::ObjectKey::ObjectKey(), OVERLAY_cache_populate(), OVERLAY_next_cache_populate(), OVERLAY_wireframe_cache_populate(), SELECT_next_cache_populate(), wireframe_hair_cache_populate(), and workbench_cache_populate().
| bool DRW_object_is_in_edit_mode | ( | const Object * | ob | ) |
Does ob needs to be rendered in edit mode.
When using duplicate linked meshes, objects that are not in edit-mode will be drawn as it is in edit mode, when another object with the same mesh is in edit mode. This will not be the case when one of the objects are influenced by modifiers.
Definition at line 203 of file draw_manager_c.cc.
References BKE_object_is_in_editmode(), ELEM, Object::mode, OB_CURVES, OB_MESH, OB_MODE_EDIT, and Object::type.
Referenced by drw_batch_cache_generate_requested(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), DRW_draw_select_id(), blender::draw::DRW_mesh_batch_cache_create_requested(), DRW_object_is_renderable(), overlay_edit_uv_cache_populate(), overlay_object_is_edit_mode(), and OVERLAY_wireframe_cache_populate().
| bool DRW_object_is_renderable | ( | const Object * | ob | ) |
Definition at line 187 of file draw_manager_c.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, Object::base_flag, BLI_assert, DRWManager::draw_ctx, DRW_object_is_in_edit_mode(), DST, View3D::flag2, OB_MESH, DRWContextState::object_edit, RETOPOLOGY_ENABLED, Object::type, DRWContextState::v3d, and V3D_HIDE_OVERLAYS.
Referenced by basic_cache_populate(), external_cache_populate(), blender::draw::overlay::Facing::object_sync(), blender::draw::overlay::Fade::object_sync(), blender::draw::overlay::ModeTransfer::object_sync(), blender::eevee::Instance::object_sync(), blender::workbench::Instance::object_sync(), OVERLAY_cache_populate(), and blender::eevee::step_object_sync_render().
| bool DRW_object_is_visible_psys_in_active_context | ( | const Object * | object, |
| const ParticleSystem * | psys ) |
Definition at line 237 of file draw_manager_c.cc.
References DRWContextState::depsgraph, DRW_context_state_get(), DRW_state_is_image_render(), ParticleEditSettings::flag, ParticleSystem::flag, PointCache::flag, OB_MODE_PARTICLE_EDIT, DRWContextState::object_edit, ParticleSystem::part, PE_DRAW_PART, ParticleSystem::pointcache, psys_check_enabled(), PSYS_HAIR_DYNAMICS, psys_in_edit_mode(), PTCACHE_BAKED, and DRWContextState::scene.
Referenced by basic_cache_populate_particles(), external_cache_populate(), blender::eevee::foreach_hair_particle_handle(), blender::draw::overlay::Particles::object_sync(), blender::workbench::Instance::object_sync(), OVERLAY_particle_cache_populate(), OVERLAY_wireframe_cache_populate(), and blender::draw::overlay::Prepass::particle_sync().
| bool DRW_object_use_hide_faces | ( | const Object * | ob | ) |
Definition at line 222 of file draw_manager_c.cc.
References Object::mode, OB_MESH, OB_MODE_SCULPT, OB_MODE_TEXTURE_PAINT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, and Object::type.
Referenced by drw_batch_cache_generate_requested(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), and blender::workbench::ObjectState::ObjectState().
Return whether this object is visible depending if we are rendering or drawing in the viewport.
Definition at line 216 of file draw_manager_c.cc.
References BKE_object_visibility(), DAG_EVAL_RENDER, DAG_EVAL_VIEWPORT, and DRW_state_is_scene_render().
Referenced by DRW_render_check_grease_pencil(), external_cache_populate(), GPENCIL_cache_populate(), GPENCIL_render_cache(), blender::draw::overlay::Relations::object_sync(), blender::eevee::Instance::object_sync(), blender::workbench::Instance::object_sync(), overlay_edit_uv_cache_populate(), OVERLAY_relationship_lines(), and blender::eevee::step_object_sync_render().
|
static |
Definition at line 3128 of file draw_manager_c.cc.
References BLI_listbase_clear(), BLI_remlink(), g_registered_engines, MEM_freeN(), next, and R_engines.
Referenced by DRW_engines_free().
| bool DRW_render_check_grease_pencil | ( | Depsgraph * | depsgraph | ) |
Helper to check if exit object type to render.
Definition at line 1879 of file draw_manager_c.cc.
References DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, drw_gpencil_engine_needed(), DRW_object_visibility_in_active_context(), ELEM, DEGObjectIterSettings::flags, OB_GPENCIL_LEGACY, OB_GREASE_PENCIL, and OB_VISIBLE_SELF.
Referenced by DRW_render_gpencil(), and engine_depsgraph_init().
| void DRW_render_context_disable | ( | Render * | render | ) |
Definition at line 3218 of file draw_manager_c.cc.
References DRW_blender_gpu_render_context_disable(), DRW_gpu_context_disable(), DRW_system_gpu_render_context_disable(), GPU_context_main_unlock(), GPU_render_end(), GPU_use_main_context_workaround(), RE_blender_gpu_context_ensure(), and RE_system_gpu_context_get().
Referenced by DRW_render_gpencil(), engine_depsgraph_free(), engine_depsgraph_init(), engine_render_view_layer(), RE_engine_gpu_context_disable(), blender::eevee::Instance::render_frame(), and blender::render::RealtimeCompositor::~RealtimeCompositor().
| void DRW_render_context_enable | ( | Render * | render | ) |
Definition at line 3190 of file draw_manager_c.cc.
References DRW_blender_gpu_render_context_enable(), DRW_gpu_context_enable(), DRW_system_gpu_render_context_enable(), DST, G, GPU_context_main_lock(), GPU_render_begin(), GPU_use_main_context_workaround(), RE_blender_gpu_context_ensure(), RE_system_gpu_context_get(), DRWManager::system_gpu_context, and WM_init_gpu().
Referenced by DRW_render_gpencil(), engine_depsgraph_free(), engine_depsgraph_init(), engine_render_view_layer(), RE_engine_gpu_context_enable(), blender::eevee::Instance::render_frame(), and blender::render::RealtimeCompositor::~RealtimeCompositor().
| void DRW_render_gpencil | ( | RenderEngine * | engine, |
| Depsgraph * | depsgraph ) |
Definition at line 1912 of file draw_manager_c.cc.
References BLI_assert, BLI_rcti_init(), BLI_rcti_is_empty(), DRWManager::buffer_finish_called, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWContextState::depsgraph, DRWManager::draw_background, DRWManager::draw_ctx, drw_context_state_init(), drw_manager_exit(), drw_manager_init(), DRW_render_check_grease_pencil(), DRW_render_context_disable(), DRW_render_context_enable(), DRW_render_gpencil_to_image(), drw_state_prepare_clean_for_draw(), DRW_state_reset(), DRW_view_reset(), DST, DRWContextState::engine_type, ListBase::first, GPU_DEPTH_NONE, GPU_depth_test(), GPU_framebuffer_restore(), DRWManager::is_image_render, DRWManager::is_scene_render, ViewLayer::name, OB_MODE_OBJECT, DRWContextState::object_mode, DRWManager::options, R_ADDSKY, RenderEngine::re, RE_engine_get_result(), RE_GetRenderLayer(), RE_GetViewPlane(), RE_SetActiveRenderView(), RenderEngine::resolution_x, RenderEngine::resolution_y, DRWContextState::scene, scene, RenderEngine::type, DRWContextState::view_layer, and RenderResult::views.
Referenced by engine_render_view_layer().
|
static |
Definition at line 1900 of file draw_manager_c.cc.
References draw_engine_gpencil_type, DRW_view_data_engine_data_get_ensure(), DST, DrawEngineType::render_to_image, and DRWManager::view_data_active.
Referenced by DRW_render_gpencil().
| void DRW_render_instance_buffer_finish | ( | ) |
Must run after all instance datas have been added.
Definition at line 2386 of file draw_manager_c.cc.
References BLI_assert_msg, DRWManager::buffer_finish_called, DRW_instance_buffer_finish(), drw_resource_buffer_finish(), DST, DRWData::idatalist, and DRWManager::vmempool.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), GPENCIL_render_to_image(), blender::eevee::Instance::render_sync(), and workbench_render_to_image().
| void DRW_render_object_iter | ( | void * | vedata, |
| RenderEngine * | engine, | ||
| Depsgraph * | depsgraph, | ||
| void(* | callback )(void *vedata, Object *ob, RenderEngine *engine, Depsgraph *depsgraph) ) |
Definition at line 2074 of file draw_manager_c.cc.
References callback, DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_FLAGS, DEGObjectIterSettings::depsgraph, depsgraph, drw_batch_cache_generate_requested(), drw_batch_cache_validate(), DRW_context_state_get(), drw_duplidata_free(), drw_duplidata_load(), DRW_smoke_init(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_volume_init(), DST, DRWManager::dupli_origin, DRWManager::dupli_origin_data, DRWManager::dupli_parent, DRWManager::dupli_source, DEGObjectIterSettings::flags, DRWManager::ob_handle, View3D::object_type_exclude_viewport, Object::type, DRWContextState::v3d, and DRWManager::vmempool.
Referenced by GPENCIL_render_to_image(), blender::eevee::Instance::render_sync(), blender::eevee::VelocityModule::step_sync(), and workbench_render_to_image().
| void DRW_render_set_time | ( | RenderEngine * | engine, |
| Depsgraph * | depsgraph, | ||
| int | frame, | ||
| float | subframe ) |
Definition at line 2394 of file draw_manager_c.cc.
References DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWManager::draw_ctx, DST, RE_engine_frame_set(), DRWContextState::scene, and DRWContextState::view_layer.
| void DRW_render_to_image | ( | RenderEngine * | engine, |
| Depsgraph * | depsgraph ) |
Definition at line 1983 of file draw_manager_c.cc.
References BLI_rcti_init(), BLI_rcti_is_empty(), DRWManager::buffer_finish_called, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWContextState::depsgraph, DRWManager::draw_background, DRWManager::draw_ctx, RenderEngineType::draw_engine, drw_context_state_init(), drw_manager_exit(), drw_manager_init(), DRW_smoke_exit(), drw_state_prepare_clean_for_draw(), DRW_state_reset(), DRW_view_data_engine_data_get_ensure(), DRW_view_reset(), DST, DRWContextState::engine_type, ListBase::first, GPU_framebuffer_restore(), GPU_render_begin(), GPU_render_end(), GPU_viewport(), DRWManager::is_image_render, DRWManager::is_scene_render, RenderResult::layers, ViewLayer::name, RenderView::next, OB_MODE_OBJECT, DRWContextState::object_mode, DRWManager::options, R_ADDSKY, RenderEngine::re, RE_engine_begin_result(), RE_engine_end_result(), RE_engine_get_result(), RE_GetViewPlane(), RE_SetActiveRenderView(), DrawEngineType::render_to_image, RenderEngine::resolution_x, RenderEngine::resolution_y, DRWContextState::scene, scene, DrawEngineType::store_metadata, RenderEngine::type, DRWManager::view_data_active, DRWContextState::view_layer, RenderResult::views, and DRWManager::vmempool.
| void DRW_render_viewport_size_set | ( | const int | size[2] | ) |
Definition at line 284 of file draw_manager_c.cc.
References DST, DRWManager::inv_size, and DRWManager::size.
| bool DRW_state_draw_background | ( | ) |
Whether we should render the background
Definition at line 3035 of file draw_manager_c.cc.
References DRWManager::draw_background, DST, and DRWManager::options.
Referenced by blender::draw::overlay::Background::begin_sync(), and OVERLAY_background_cache_init().
| bool DRW_state_draw_support | ( | ) |
Should draw support elements Objects center, selection outline, probe data, ...
Definition at line 3028 of file draw_manager_c.cc.
References DRWManager::draw_ctx, DRW_state_is_scene_render(), DST, View3D::flag2, DRWContextState::v3d, and V3D_HIDE_OVERLAYS.
Referenced by blender::eevee::VolumeProbeModule::init(), and blender::eevee::PlanarProbeModule::set_view().
|
static |
Definition at line 128 of file draw_manager_c.cc.
References offsetof.
Referenced by drw_manager_exit().
| bool DRW_state_is_depth | ( | ) |
Definition at line 2980 of file draw_manager_c.cc.
References DST, DRWManager::is_depth, and DRWManager::options.
Referenced by DRW_state_is_fbo(), OVERLAY_draw_scene(), OVERLAY_image_empty_cache_populate(), and OVERLAY_wireframe_cache_init().
| bool DRW_state_is_fbo | ( | ) |
When false, drawing doesn't output to a pixel buffer eg: Occlusion queries, or when we have setup a context to draw in already.
Definition at line 2964 of file draw_manager_c.cc.
References DRWManager::default_framebuffer, DRW_state_is_depth(), DRW_state_is_select(), DST, DRWManager::is_image_render, and DRWManager::options.
Referenced by drw_engines_draw_scene(), GPENCIL_draw_scene_depth_only(), GPENCIL_engine_init(), OVERLAY_antialiasing_init(), OVERLAY_antialiasing_start(), OVERLAY_background_draw(), OVERLAY_draw_scene(), OVERLAY_edit_curve_draw(), OVERLAY_edit_curves_draw(), OVERLAY_edit_lattice_draw(), OVERLAY_edit_mesh_draw(), OVERLAY_edit_particle_draw(), OVERLAY_edit_text_draw(), OVERLAY_extra_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_image_scene_background_draw(), OVERLAY_outline_draw(), OVERLAY_outline_init(), OVERLAY_paint_draw(), OVERLAY_pose_draw(), OVERLAY_sculpt_draw(), OVERLAY_wireframe_cache_init(), OVERLAY_xray_depth_copy(), OVERLAY_xray_depth_infront_copy(), and OVERLAY_xray_fade_draw().
| bool DRW_state_is_image_render | ( | ) |
Whether we are rendering for an image
Definition at line 2985 of file draw_manager_c.cc.
References DST, DRWManager::is_image_render, and DRWManager::options.
Referenced by basic_cache_populate(), blender::workbench::AntiAliasingPass::draw(), DRW_object_is_visible_psys_in_active_context(), DRW_shader_from_world(), DRW_shader_queue_optimize_material(), blender::workbench::SceneResources::init(), blender::eevee::Instance::is_image_render(), blender::draw::overlay::Cameras::object_sync(), blender::draw::overlay::Facing::object_sync(), blender::draw::overlay::Fade::object_sync(), blender::draw::overlay::ModeTransfer::object_sync(), blender::draw::overlay::Prepass::object_sync(), blender::workbench::ObjectState::ObjectState(), OVERLAY_camera_cache_populate(), OVERLAY_facing_cache_populate(), OVERLAY_fade_cache_populate(), OVERLAY_mode_transfer_cache_populate(), OVERLAY_wireframe_cache_populate(), and blender::eevee::SyncModule::sync_sculpt().
| bool DRW_state_is_material_select | ( | ) |
Definition at line 2975 of file draw_manager_c.cc.
References DST, DRWManager::is_material_select, and DRWManager::options.
Referenced by basic_cache_init(), and blender::draw::overlay::Prepass::begin_sync().
| bool DRW_state_is_navigating | ( | ) |
Is the user navigating or painting the region.
Definition at line 3010 of file draw_manager_c.cc.
References DRWManager::draw_ctx, DST, RegionView3D::rflag, DRWContextState::rv3d, RV3D_NAVIGATING, and RV3D_PAINTING.
Referenced by blender::workbench::SceneState::init(), and blender::eevee::Instance::is_navigating().
| bool DRW_state_is_painting | ( | ) |
Is the user painting?
Definition at line 3016 of file draw_manager_c.cc.
References DRWManager::draw_ctx, DST, RegionView3D::rflag, DRWContextState::rv3d, and RV3D_PAINTING.
Referenced by blender::eevee::Instance::is_painting().
| bool DRW_state_is_playback | ( | ) |
Definition at line 3001 of file draw_manager_c.cc.
References CTX_wm_manager(), DRWManager::draw_ctx, DST, ED_screen_animation_playing(), and DRWContextState::evil_C.
Referenced by blender::eevee::Instance::draw_viewport(), blender::workbench::SceneState::init(), and blender::eevee::Instance::is_playback().
| bool DRW_state_is_scene_render | ( | ) |
Whether we are rendering only the render engine, or if we should also render the mode engines.
Definition at line 2990 of file draw_manager_c.cc.
References BLI_assert, DST, DRWManager::is_image_render, DRWManager::is_scene_render, and DRWManager::options.
Referenced by blender::workbench::AntiAliasingPass::draw(), DRW_object_visibility_in_active_context(), DRW_state_draw_support(), blender::workbench::SceneState::init(), blender::workbench::Instance::object_sync(), and blender::workbench::ObjectState::ObjectState().
| bool DRW_state_is_select | ( | ) |
For when engines need to know if this is drawing for selection or not.
Definition at line 2970 of file draw_manager_c.cc.
References DST, DRWManager::is_select, and DRWManager::options.
Referenced by armature_context_setup(), basic_cache_init(), camera_stereoscopy_extra(), camera_view3d_reconstruction(), blender::draw::overlay::Armatures::draw_armature_edit(), blender::draw::overlay::Armatures::draw_armature_pose(), DRW_state_is_fbo(), OVERLAY_armature_cache_init(), OVERLAY_armature_in_front_draw(), OVERLAY_cache_populate(), OVERLAY_camera_cache_populate(), OVERLAY_draw_scene(), OVERLAY_edit_metaball_cache_populate(), OVERLAY_extra_cache_init(), OVERLAY_extra_cache_populate(), OVERLAY_image_camera_cache_populate(), OVERLAY_light_cache_populate(), OVERLAY_lightprobe_cache_populate(), OVERLAY_metaball_cache_init(), OVERLAY_volume_cache_init(), OVERLAY_volume_cache_populate(), and OVERLAY_wireframe_cache_init().
| bool DRW_state_is_viewport_image_render | ( | ) |
Whether we are rendering simple opengl render
Definition at line 2996 of file draw_manager_c.cc.
References DST, DRWManager::is_image_render, DRWManager::is_scene_render, and DRWManager::options.
Referenced by blender::draw::overlay::Background::begin_sync(), eevee_draw_scene(), eevee_engine_init(), blender::draw::compositor::Context::get_compositing_region(), blender::eevee::Instance::is_viewport_image_render(), OVERLAY_background_cache_init(), blender::eevee::Camera::sync(), and workbench_draw_scene().
|
static |
Definition at line 118 of file draw_manager_c.cc.
References offsetof.
Referenced by DRW_custom_pipeline_begin(), DRW_draw_depth_loop(), DRW_draw_render_loop(), DRW_draw_render_loop_offscreen(), DRW_draw_select_id(), DRW_draw_select_loop(), DRW_draw_view(), DRW_notify_view_update(), drw_notify_view_update_offscreen(), DRW_render_gpencil(), and DRW_render_to_image().
| bool DRW_state_show_text | ( | ) |
Should text draw in this mode?
Definition at line 3022 of file draw_manager_c.cc.
References DRWManager::draw_text, DST, DRWManager::is_depth, DRWManager::is_scene_render, DRWManager::is_select, and DRWManager::options.
Referenced by blender::draw::overlay::Armatures::draw_armature_edit(), blender::draw::overlay::Armatures::draw_armature_pose(), blender::draw::overlay::Meshes::edit_object_sync(), OVERLAY_edit_grease_pencil_cache_populate(), OVERLAY_edit_mesh_cache_populate(), and OVERLAY_extra_cache_populate().
| void DRW_system_gpu_render_context_disable | ( | void * | re_system_gpu_context | ) |
Definition at line 3334 of file draw_manager_c.cc.
References BLI_ticket_mutex_unlock(), DST, DRWManager::system_gpu_context_mutex, and WM_system_gpu_context_release().
Referenced by DRW_render_context_disable().
| void DRW_system_gpu_render_context_enable | ( | void * | re_system_gpu_context | ) |
Definition at line 3324 of file draw_manager_c.cc.
References BLI_assert, BLI_thread_is_main(), BLI_ticket_mutex_lock(), DST, DRWManager::system_gpu_context_mutex, and WM_system_gpu_context_activate().
Referenced by DRW_render_context_enable().
|
static |
Definition at line 168 of file draw_manager_c.cc.
References BLI_gset_free(), BLI_task_graph_free(), BLI_task_graph_work_and_wait(), DRWManager::delayed_extraction, drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), DST, and DRWManager::task_graph.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), and DRW_render_object_iter().
|
static |
Definition at line 161 of file draw_manager_c.cc.
References BLI_assert, BLI_gset_ptr_new(), BLI_task_graph_create(), DRWManager::delayed_extraction, DST, and DRWManager::task_graph.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), and DRW_render_object_iter().
| DRWTextStore * DRW_text_cache_ensure | ( | ) |
Definition at line 1615 of file draw_manager_c.cc.
References BLI_assert, DRW_text_cache_create(), DST, and DRWManager::text_store_p.
Referenced by blender::draw::overlay::add_values_to_text_cache(), blender::draw::overlay::Instance::begin_sync(), camera_view3d_reconstruction(), draw_bone_name(), motion_path_cache(), OVERLAY_edit_uv_cache_init(), overlay_grease_pencil_draw_stroke_color_name(), and OVERLAY_object_name().
| void ** DRW_view_layer_engine_data_ensure | ( | DrawEngineType * | engine_type, |
| void(* | callback )(void *storage) ) |
Definition at line 819 of file draw_manager_c.cc.
References callback, DRWManager::draw_ctx, DRW_view_layer_engine_data_ensure_ex(), DST, and DRWContextState::view_layer.
Referenced by GPENCIL_view_layer_data_ensure().
| void ** DRW_view_layer_engine_data_ensure_ex | ( | ViewLayer * | view_layer, |
| DrawEngineType * | engine_type, | ||
| void(* | callback )(void *storage) ) |
Definition at line 798 of file draw_manager_c.cc.
References BLI_addtail(), callback, ViewLayer::drawdata, ViewLayerEngineData::engine_type, ViewLayerEngineData::free, LISTBASE_FOREACH, MEM_callocN, and ViewLayerEngineData::storage.
Referenced by DRW_view_layer_engine_data_ensure().
| void * DRW_view_layer_engine_data_get | ( | DrawEngineType * | engine_type | ) |
Definition at line 788 of file draw_manager_c.cc.
References DRWManager::draw_ctx, ViewLayer::drawdata, DST, LISTBASE_FOREACH, and DRWContextState::view_layer.
| DRWData * DRW_viewport_data_create | ( | ) |
Definition at line 367 of file draw_manager_c.cc.
References BLI_ghash_new(), BLI_ghashutil_intcmp(), BLI_ghashutil_inthash_p_simple(), BLI_memblock_create, BLI_memblock_create_ex(), DRWData::callbuffers, DRWData::commands, DRWData::commands_small, DRWData::cullstates, DRW_instance_data_list_create(), DRW_RESOURCE_CHUNK_LEN, DRW_texture_pool_create(), DRW_uniform_attrs_pool_new(), DRW_view_data_create(), g_registered_engines, DRWData::idatalist, DRWData::images, MEM_callocN, DRWData::obattrs_ubo_pool, DRWData::obinfos, DRWData::obmats, DRWData::passes, DRWData::shgroups, DRWData::texture_pool, DRWData::uniforms, DRWData::view_data, DRWData::views, and DRWData::vlattrs_name_cache.
Referenced by drw_manager_init(), and drw_viewport_data_ensure().
|
static |
Definition at line 497 of file draw_manager_c.cc.
References DRW_viewport_data_create(), and GPU_viewport_data_get().
Referenced by drw_manager_init(), DRW_notify_view_update(), and drw_notify_view_update_offscreen().
| void DRW_viewport_data_free | ( | DRWData * | drw_data | ) |
Definition at line 457 of file draw_manager_c.cc.
References BLI_freelistN(), BLI_ghash_free(), BLI_memblock_destroy(), DRWData::callbuffers, DRWData::commands, DRWData::commands_small, DRWData::cullstates, DRWData::curves_ubos, draw_texture_release(), DRW_instance_data_list_free(), DRW_texture_pool_free(), DRW_uniform_attrs_pool_free(), DRW_view_data_free(), DRW_volume_ubos_pool_free(), GPU_uniformbuf_free(), DRWData::idatalist, DRWData::images, DRWData::matrices_ubo, MEM_freeN(), DRWData::obattrs_ubo_pool, DRWData::obinfos, DRWData::obinfos_ubo, DRWData::obmats, DRWData::passes, DRWData::shgroups, DRWData::texture_pool, DRWData::ubo_len, DRWData::uniforms, DRWData::view_data, DRWData::views, DRWData::vlattrs_buf, DRWData::vlattrs_name_cache, DRWData::vlattrs_name_list, DRWData::vlattrs_ubo, and DRWData::volume_grids_ubos.
Referenced by drw_manager_exit(), and GPU_viewport_free().
|
static |
Definition at line 434 of file draw_manager_c.cc.
References BLI_memblock_clear(), DRWData::callbuffers, DRWData::commands, DRWData::commands_small, DRWData::cullstates, draw_prune_vlattrs(), draw_texture_release(), DRW_instance_data_list_free_unused(), DRW_instance_data_list_reset(), DRW_instance_data_list_resize(), DRW_texture_pool_reset(), DRW_uniform_attrs_pool_clear_all(), DRWData::idatalist, DRWData::images, DRWData::obattrs_ubo_pool, DRWData::obinfos, DRWData::obmats, DRWData::passes, DRWData::shgroups, DRWData::texture_pool, DRWData::uniforms, and DRWData::views.
Referenced by drw_manager_init().
| DefaultFramebufferList * DRW_viewport_framebuffer_list_get | ( | ) |
Definition at line 658 of file draw_manager_c.cc.
References DRW_view_data_default_framebuffer_list_get(), DST, and DRWManager::view_data_active.
Referenced by blender::eevee::Film::accumulate(), blender::eevee::Film::display(), blender::eevee::LookdevModule::display(), blender::draw::overlay::Instance::draw(), blender::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::draw_viewport(), blender::eevee::Instance::draw_viewport(), DRW_draw_callbacks_post_scene(), DRW_draw_render_loop_2d_ex(), eevee_draw_scene(), blender::draw::overlay::Instance::end_sync(), external_draw_scene(), external_draw_scene_do_image(), GPENCIL_draw_scene_depth_only(), GPENCIL_engine_init(), GPENCIL_fast_draw_end(), GPENCIL_fast_draw_start(), OVERLAY_antialiasing_end(), OVERLAY_cache_finish(), OVERLAY_draw_scene(), OVERLAY_edit_uv_draw(), OVERLAY_image_scene_background_draw(), OVERLAY_sculpt_draw(), select_draw_scene(), workbench_render_framebuffers_init(), and workbench_render_to_image().
| const float * DRW_viewport_invert_size_get | ( | ) |
Definition at line 297 of file draw_manager_c.cc.
References DST, and DRWManager::inv_size.
Referenced by GPENCIL_antialiasing_init(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_wave(), blender::workbench::SceneResources::init(), and blender::workbench::DofPass::sync().
| blender::draw::TextureFromPool & DRW_viewport_pass_texture_get | ( | const char * | pass_name | ) |
Definition at line 668 of file draw_manager_c.cc.
References DRW_view_data_pass_texture_get(), DST, and DRWManager::view_data_active.
Referenced by blender::draw::compositor::Context::get_input_texture(), and blender::eevee::Film::write_viewport_compositor_passes().
| const float * DRW_viewport_pixelsize_get | ( | ) |
Definition at line 302 of file draw_manager_c.cc.
References DST, and DRWManager::pixsize.
Referenced by DRW_globals_update().
| void DRW_viewport_request_redraw | ( | ) |
Definition at line 673 of file draw_manager_c.cc.
References DST, GPU_viewport_tag_update(), and DRWManager::viewport.
Referenced by blender::draw::overlay::ModeTransfer::draw(), blender::eevee::Instance::draw_viewport(), blender::workbench::Instance::draw_viewport(), blender::eevee::PlanarProbeModule::end_sync(), blender::eevee::SphereProbeModule::end_sync(), and OVERLAY_mode_transfer_cache_finish().
| const float * DRW_viewport_size_get | ( | ) |
Definition at line 292 of file draw_manager_c.cc.
References DST, and DRWManager::size.
Referenced by DRW_globals_update(), DRW_texture_ensure_fullscreen_2d_ex(), DRW_texture_pool_query_fullscreen_ex(), eevee_engine_init(), blender::draw::compositor::Context::get_compositing_region(), blender::draw::compositor::Context::get_render_size(), GPENCIL_antialiasing_init(), GPENCIL_cache_finish(), GPENCIL_cache_init(), GPENCIL_render_init(), gpencil_vfx_blur(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), blender::draw::image_engine::ScreenTileTextures< Divisions >::gpu_texture_size(), grease_pencil_object_cache_populate(), blender::workbench::SceneResources::init(), blender::workbench::SceneState::init(), and workbench_render_framebuffers_init().
| DefaultTextureList * DRW_viewport_texture_list_get | ( | ) |
Definition at line 663 of file draw_manager_c.cc.
References DRW_view_data_default_texture_list_get(), DST, and DRWManager::view_data_active.
Referenced by blender::eevee::Film::accumulate(), blender::draw::overlay::Instance::draw(), DRW_draw_select_loop(), eevee_engine_init(), blender::draw::overlay::Instance::end_sync(), blender::draw::compositor::Context::get_input_texture(), blender::draw::compositor::Context::get_output_result(), blender::draw::compositor::Context::get_viewer_output_result(), GPENCIL_engine_init(), OVERLAY_antialiasing_cache_finish(), OVERLAY_antialiasing_cache_init(), OVERLAY_antialiasing_init(), OVERLAY_armature_cache_init(), OVERLAY_background_cache_init(), OVERLAY_cache_finish(), OVERLAY_edit_mesh_cache_init(), OVERLAY_extra_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_outline_cache_init(), OVERLAY_outline_init(), OVERLAY_xray_depth_copy(), OVERLAY_xray_depth_infront_copy(), select_engine_framebuffer_setup(), workbench_draw_scene(), workbench_render_framebuffers_init(), and workbench_render_to_image().
|
static |
Definition at line 692 of file draw_manager_c.cc.
References DupliKey::ob, and DupliKey::ob_data.
Referenced by drw_duplidata_load().
|
static |
Definition at line 686 of file draw_manager_c.cc.
References BLI_ghashutil_ptrhash(), DupliKey::ob, and DupliKey::ob_data.
Referenced by drw_duplidata_load().
|
static |
Definition at line 746 of file draw_manager_c.cc.
References BKE_object_replace_data_on_shallow_copy(), Object::data, drw_batch_cache_generate_requested(), MEM_freeN(), DupliKey::ob, DupliKey::ob_data, and Object::runtime.
Referenced by drw_duplidata_free().
|
static |
Definition at line 737 of file draw_manager_c.cc.
References g_registered_engines, MEM_freeN(), and MEM_SAFE_FREE.
Referenced by drw_duplidata_free().
|
static |
Definition at line 863 of file draw_manager_c.cc.
References GS, and id_type_can_have_drawdata().
Referenced by DRW_drawdata_ensure(), and DRW_drawdatalist_from_id().
|
static |
Definition at line 842 of file draw_manager_c.cc.
References ID_IM, ID_MC, ID_MSK, ID_OB, ID_SCE, ID_TE, and ID_WO.
Referenced by id_can_have_drawdata().
|
static |
Definition at line 1169 of file draw_manager_c.cc.
References DRW_view_data_use_engine(), DST, and DRWManager::view_data_active.
Referenced by DRW_draw_depth_loop(), DRW_draw_select_id(), DRW_draw_select_loop(), drw_engine_enable_image_editor(), drw_engines_enable(), drw_engines_enable_basic(), drw_engines_enable_editors(), drw_engines_enable_from_engine(), and drw_engines_enable_overlays().
| DRWManager DST = {nullptr} |
Render State: No persistent data between draw calls.
Definition at line 111 of file draw_manager_c.cc.
Referenced by blender::draw::TextureFromPool::acquire(), blender::draw::Manager::begin_sync(), blender::draw::curves_sub_pass_setup_implementation(), blender::draw::Manager::debug_bind(), draw_call_batching_finish(), draw_call_batching_flush(), draw_call_is_culled(), draw_call_resource_bind(), draw_compute_culling(), draw_geometry_bind(), draw_geometry_execute(), draw_indirect_call(), draw_legacy_matrix_update(), draw_shgroup(), draw_unit_state_create(), draw_update_uniforms(), drw_batch_cache_generate_requested(), drw_batch_cache_generate_requested_delayed(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), DRW_buffer_add_entry_array(), DRW_buffer_add_entry_struct(), DRW_cache_restart(), drw_call_obinfos_init(), drw_command_create(), DRW_context_state_get(), drw_context_state_init(), DRW_culling_box_test(), DRW_culling_frustum_corners_get(), DRW_culling_frustum_planes_get(), DRW_culling_min_max_test(), DRW_culling_plane_test(), DRW_culling_sphere_test(), DRW_custom_pipeline(), DRW_custom_pipeline_begin(), DRW_custom_pipeline_end(), DRW_debug_bbox(), drw_debug_draw(), DRW_debug_get(), drw_debug_gpu_draw_buf_get(), drw_debug_gpu_print_buf_get(), drw_debug_init(), DRW_debug_line_v3v3(), DRW_debug_m4(), DRW_debug_m4_as_bbox(), DRW_debug_modelmat(), DRW_debug_modelmat_reset(), DRW_debug_polygon_v3(), DRW_debug_sphere(), DRW_draw_callbacks_post_scene(), DRW_draw_callbacks_pre_scene(), DRW_draw_depth_loop(), DRW_draw_in_progress(), drw_draw_pass_ex(), DRW_draw_region_engine_info(), DRW_draw_render_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_render_loop_offscreen(), DRW_draw_select_id(), DRW_draw_select_loop(), drw_draw_show_annotation(), DRW_draw_view(), DRW_drawdata_ensure(), drw_duplidata_free(), DRW_duplidata_get(), drw_duplidata_load(), drw_engines_cache_finish(), drw_engines_cache_init(), drw_engines_cache_populate(), drw_engines_data_validate(), drw_engines_disable(), drw_engines_draw_scene(), drw_engines_draw_text(), drw_engines_enable(), drw_engines_enable_editors(), DRW_engines_free(), drw_engines_init(), drw_engines_world_update(), drw_ensure_layer_attribute_buffer(), DRW_fluid_ensure_flags(), DRW_fluid_ensure_range_field(), DRW_gpu_context_activate(), DRW_gpu_context_create(), DRW_gpu_context_destroy(), DRW_gpu_context_disable_ex(), DRW_gpu_context_enable(), DRW_gpu_context_enable_ex(), DRW_gpu_context_release(), DRW_is_viewport_compositor_enabled(), DRW_manager_begin_sync(), DRW_manager_end_sync(), DRW_manager_get(), DRW_notify_view_update(), drw_notify_view_update_offscreen(), DRW_object_get_dupli(), DRW_object_get_dupli_parent(), DRW_object_is_renderable(), DRW_object_ref_get(), DRW_object_resource_id_get(), DRW_pass_create(), DRW_pass_sort_shgroup_z(), drw_register_shader_vlattrs(), DRW_render_context_enable(), DRW_render_gpencil(), DRW_render_gpencil_to_image(), DRW_render_instance_buffer_finish(), DRW_render_object_iter(), DRW_render_set_time(), DRW_render_to_image(), DRW_render_viewport_size_set(), drw_resource_buffer_finish(), drw_resource_handle(), drw_resource_handle_new(), DRW_select_load_id(), DRW_shader_from_material(), DRW_shader_from_world(), DRW_shader_init(), DRW_shgroup_call_buffer(), DRW_shgroup_call_buffer_instance(), DRW_shgroup_call_ex(), DRW_shgroup_call_instance_range(), DRW_shgroup_call_instances(), DRW_shgroup_call_instances_with_attrs(), drw_shgroup_call_procedural_add_ex(), DRW_shgroup_call_procedural_indirect(), DRW_shgroup_call_range(), drw_shgroup_create_ex(), DRW_shgroup_create_sub(), blender::draw::DRW_shgroup_curves_create_sub(), drw_shgroup_material_texture(), drw_shgroup_uniform_create_ex(), DRW_smoke_ensure(), DRW_smoke_ensure_coba_field(), DRW_smoke_ensure_velocity(), DRW_state_draw_background(), DRW_state_draw_support(), DRW_state_is_depth(), DRW_state_is_fbo(), DRW_state_is_image_render(), DRW_state_is_material_select(), DRW_state_is_navigating(), DRW_state_is_painting(), DRW_state_is_playback(), DRW_state_is_scene_render(), DRW_state_is_select(), DRW_state_is_viewport_image_render(), DRW_state_lock(), DRW_state_reset_ex(), drw_state_set(), DRW_state_show_text(), drw_state_validate(), DRW_stats_draw(), DRW_system_gpu_render_context_disable(), DRW_system_gpu_render_context_enable(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_text_cache_ensure(), DRW_texture_pool_query_2d_ex(), drw_update_view(), DRW_view_create(), DRW_view_create_sub(), DRW_view_default_get(), DRW_view_default_set(), DRW_view_far_distance_get(), DRW_view_get_active(), DRW_view_is_persp_get(), DRW_view_layer_engine_data_ensure(), DRW_view_layer_engine_data_get(), DRW_view_near_distance_get(), DRW_view_persmat_get(), DRW_view_reset(), DRW_view_set_active(), DRW_view_update(), DRW_view_viewmat_get(), DRW_view_winmat_get(), DRW_viewport_framebuffer_list_get(), DRW_viewport_invert_size_get(), DRW_viewport_pass_texture_get(), DRW_viewport_pixelsize_get(), DRW_viewport_request_redraw(), DRW_viewport_size_get(), DRW_viewport_texture_list_get(), drw_volume_object_grids_init(), blender::draw::drw_volume_object_mesh_init(), drw_volume_object_mesh_init(), blender::draw::command::StateSet::execute(), blender::draw::TextureFromPool::release(), blender::draw::Manager::submit(), blender::draw::TextureFromPool::swap(), use_drw_engine(), and blender::draw::volume_object_grids_init().
| ListBase engines |
Definition at line 114 of file draw_manager_c.cc.
Referenced by all_scenes_use().
| struct { ... } g_registered_engines |
|
static |
Referenced by draw_select_framebuffer_depth_only_setup(), DRW_draw_select_loop(), and DRW_engines_free().
| int len |
Definition at line 115 of file draw_manager_c.cc.
Referenced by _bli_array_permute(), _glewSearchExtension(), add_struct(), addedgetoscanlist(), Freestyle::BlenderFileLoader::addTriangle(), alter_co(), angle_poly_v3(), ANIM_add_driver_with_target(), apply_heights_callback(), area_light_max_extent(), area_light_rect_sample(), area_light_spread_clamp_light(), arrow_draw_geom(), blender::ed::asset::asset_bundle_install_exec(), bake_offset_towards_center(), blender::gpu::MTLFrameBuffer::bake_render_pass_descriptor(), bezier_handle_calc_length_v3(), BKE_brush_curve_strength(), BKE_brush_curve_strength_clamped(), BKE_curve_bevelList_make(), BKE_curve_correct_bezpart(), BKE_fcurve_correct_bezpart(), BKE_fcurve_pathcache_find(), BKE_fcurve_pathcache_find_array(), BKE_gpencil_stroke_join(), BKE_image_save_options_init(), BKE_image_user_frame_get(), BKE_keyblock_convert_from_mesh(), BKE_mask_clipboard_copy_from_layer(), BKE_mask_point_set_handle(), BKE_mask_spline_resolution(), BKE_mball_is_basis(), BKE_nurb_duplicate(), BKE_nurb_makeCurve(), BKE_nurb_makeFaces(), BKE_object_dimensions_set_ex(), BKE_packedfile_compare_to_file(), BKE_ptcache_disk_cache_rename(), BKE_ptcache_id_clear(), BKE_ptcache_id_time(), BKE_ptcache_load_external(), BKE_report(), BKE_tracking_tracks_join(), BKE_vfont_clipboard_set(), blendfile_library_relocate_remap(), BLI_box_pack_2d(), BLI_dir_create_recursive(), BLI_dir_free_space(), BLI_dynstr_nappend(), BLI_exists(), BLI_file_unzstd_to_mem_at_pos(), BLI_file_zstd_from_mem_at_pos(), BLI_filereader_new_memory(), BLI_hash_md5_buffer(), BLI_hash_md5_stream(), BLI_hash_md5_to_hexdigest(), BLI_hash_mm2(), BLI_hash_mm2a_add(), BLI_hash_mm3(), BLI_jitterate1(), BLI_linklist_count(), BLI_path_join_array(), BLI_path_make_safe_filename_ex(), BLI_path_slash_rstrip(), BLI_str_escape(), BLI_str_format_byte_unit(), BLI_str_tolower_ascii(), BLI_str_toupper_ascii(), BLI_str_unescape(), BLI_str_unescape_ex(), BLI_str_utf32_as_utf8(), BLI_str_utf32_as_utf8_len(), BLI_str_utf32_as_utf8_len_ex(), BLI_str_utf8_as_unicode_or_error(), BLI_str_utf8_as_unicode_step_or_error(), BLI_str_utf8_as_utf32(), BLI_str_utf8_from_unicode(), BLI_str_utf8_from_unicode_len(), BLI_strcasestr(), BLI_strdupn(), BLI_string_flip_side_name(), BLI_string_split_prefix(), BLI_string_split_suffix(), BLI_strlen_utf8_ex(), BLI_strncasecmp(), BLI_strncasestr(), BLI_strncat(), BLI_strncpy_wchar_as_utf8(), BLI_strnlen(), BLI_strnlen_utf8_ex(), BLI_system_thread_count(), BLI_uniquename_cb(), BLI_uniquename_cb(), BLI_wstrlen_utf8(), BLO_read_string(), bm_bridge_best_rotation(), BM_disk_dissolve(), bm_edge_info_average_length(), BM_edge_is_any_face_len_test(), bm_edgeloop_offset_length(), BM_edges_from_verts(), BM_edges_from_verts_ensure(), bm_edges_sort_winding(), BM_face_create(), BM_face_create_ngon(), BM_face_create_ngon_verts(), BM_face_create_verts(), BM_face_exists(), BM_face_exists_multi(), BM_face_exists_multi_edge(), BM_face_exists_overlap(), BM_face_exists_overlap_subset(), BM_face_split_edgenet_connect_islands(), BM_face_splits_check_legal(), BM_face_splits_check_optimal(), BM_iter_as_array(), BM_loop_at_index_find(), BM_loop_calc_face_normal(), bm_mesh_calc_uvs_sphere_face(), bm_uidwalk_init_from_edge(), BM_vert_calc_normal(), BM_vert_calc_normal_ex(), BM_vert_dissolve(), BM_vert_normal_update_all(), BM_verts_from_edges(), BM_verts_in_face(), BM_verts_in_face_count(), BM_verts_sort_radial_plane(), bmesh_disk_validate(), bmesh_elem_check(), bmesh_loop_validate(), bmo_connect_verts_nonplanar_exec(), bmo_create_uvsphere_exec(), BMO_iter_as_array(), BMO_slot_as_arrayN(), BMO_slot_buffer_alloc(), bmw_EdgeringWalker_step(), boid_brain(), bone_autoside_name(), boxPack_FromPyObject(), boxPack_ToPyObject(), bpy_bmeditselseq_subscript(), bpy_bmelemseq_subscript(), bpy_bmlayercollection_subscript(), bpy_bmlayercollection_subscript_int(), bpy_bmlayercollection_subscript_slice(), BPY_context_member_get(), BPy_IDGroup_CorrectListLen(), bpy_prop_boolean_array_get_fn(), bpy_prop_boolean_array_set_fn(), bpy_prop_float_array_get_fn(), bpy_prop_float_array_set_fn(), bpy_prop_int_array_get_fn(), bpy_prop_int_array_set_fn(), bsdf_hair_huang_eval_residual(), bsdf_hair_huang_sample(), bsdf_microfacet_eval(), btAdjustInternalEdgeContacts(), btStrLen(), buffer_alloc(), buffer_realloc(), Buffer_to_list(), Buffer_to_list_recursive(), C_BVHTree_FromPolygons(), calc_bevfac_spline_mapping(), calc_strength(), calchandle_curvemap(), calchandleNurb_intern(), LightTreeMeasure::calculate(), blender::bke::curves::bezier::calculate_point_handles(), btTransformUtil::calculateDiffAxisAngle(), btTransformUtil::calculateDiffAxisAngleQuaternion(), camera_distance(), camera_z_depth(), channel_list_visible_key_len(), channel_visible_key_len(), check_field_alignment(), clampto_evaluate(), clg_ctx_filter_check(), clg_str_append_with_len(), clg_str_reserve(), cloth_bend_poly_dir(), cloth_bend_set_poly_vert_array(), cloth_calc_helper_forces(), blender::ed::sculpt_paint::mask::color_delta_get(), compute_3d_orientation(), compute_face_normal(), Mesh::Triangle::compute_normal(), console_cursor_set_to_pos(), console_delete_editable_selection(), console_indent_exec(), console_insert_exec(), console_insert_invoke(), console_line_insert(), console_line_verify_length(), console_modal_select_invoke(), console_unindent_exec(), copy_single_file(), blender::compositor::tests::create_buffer(), blender::compositor::tests::create_input_buffer(), blender::draw::create_material_subranges(), Freestyle::createStroke(), curve_to_displist(), differential_make_compact(), dir_create_recursive(), direction_to_central_cylindrical(), direction_to_equirectangular_range(), direction_to_fisheye(), distance(), distance(), distance(), distant_light_uv(), DNA_struct_member_size(), blender::ed::sculpt_paint::color::do_smear_brush_task(), dquat_to_mat4(), draw_distortion(), draw_frustum_bound_sphere_calc(), drw_shgroup_bone_envelope(), ED_armature_ebone_from_mat3(), ED_info_statusbar_string_ex(), ED_mask_feather_find_nearest(), ed_mesh_pick_vert__mapFunc(), ED_node_tree_path_get(), ED_scene_grid_scale(), edbm_bevel_calc_initial_length(), edbm_connect_vert_pair(), editstr_insert_at_cursor(), eff_calc_visibility(), ensure_digits(), evaluate_curve_type_object(), evaluate_surface_object(), export_hair_curves(), blender::io::usd::export_packed_texture(), exr_rgba_channelname(), blender::geometry::extend_curves_curved(), blender::gpu::extract_shared_memory_blocks(), blender::draw::extract_tris_subdiv(), fcurve_path_rename(), file_draw_string_multiline(), file_seek(), find_internal_spring_target_vertex(), find_min_value(), flatten_string(), flatten_string_append(), flatten_string_strlen(), blender::gpu::MTLCircularBuffer::flush(), blender::ed::object::followpath_path_animate_exec(), blender::draw::View::frustum_culling_sphere_calc(), fsmenu_entry_generate_name(), fsmenu_read_bookmarks(), gearGL(), gearGL(), get_default_rna_value(), get_stats_string(), get_suggest_prefix(), GHOST_SystemWin32::getClipboard(), GHOST_SystemX11::getClipboard_xcout(), GHOST_WindowX11::GHOST_WindowX11(), gizmo_preselect_elem_test_select(), gizmo_ruler_draw(), GPU_debug_get_groups_names(), GPU_indexbuf_update_sub(), GPU_shader_uniform_1f_array(), GPU_shader_uniform_2fv_array(), GPU_shader_uniform_4fv_array(), GPU_shader_uniform_float_ex(), GPU_shader_uniform_int_ex(), GPU_unpack_row_length_set(), blender::draw::gpu_vertbuf_create_from_format(), GPU_vertbuf_update_sub(), GPU_vertformat_safe_attr_name(), blender::compositor::DebugInfo::graphviz_legend(), blender::compositor::DebugInfo::graphviz_legend_color(), blender::compositor::DebugInfo::graphviz_legend_group(), blender::compositor::DebugInfo::graphviz_legend_line(), blender::compositor::DebugInfo::graphviz_operation(), blender::compositor::DebugInfo::graphviz_system(), HsiehHash(), hull_merge_triangles(), idp_from_PyMapping(), IDP_ResizeIDPArray(), idp_sequence_type(), idp_str_append_escape(), idprop_ui_data_update_bool_default(), idprop_ui_data_update_float_default(), idprop_ui_data_update_int_default(), imb_exr_insert_view_name(), imb_exr_split_channel_name(), IMB_indexer_get_frame_index(), init_track_for_stabilization(), blender::draw::init_vbo_for_attribute(), btDefaultSerializer::initDNA(), insert_text_exec(), blender::gpu::is_program_word(), is_track_clean(), light_distribution_sample(), light_tree_emitter_importance(), light_tree_node_importance(), LightTreeEmitter::LightTreeEmitter(), blender::ed::sculpt_paint::load_tex_cursor_task_cb(), blender::ed::sculpt_paint::load_tex_task_cb_ex(), M_Geometry_area_tri(), M_Geometry_box_fit_2d(), M_Geometry_box_pack_2d(), M_Geometry_convex_hull_2d(), M_Interpolate_poly_3d_calc(), make_memhead_header(), make_structDNA(), map_to_tube(), blender::ed::sculpt_paint::mask::mask_by_color_contiguous_mesh(), mathutils_array_hash(), mathutils_rna_vector_set(), md5_process_block(), mdisp_rot_face_to_crn(), mean_value_half_tan_v2_db(), mean_value_half_tan_v3(), MEM_guarded_calloc_arrayN(), MEM_guarded_calloc_arrayN_aligned(), MEM_guarded_callocN(), MEM_guarded_malloc_arrayN(), MEM_guarded_mallocN(), MEM_guarded_mallocN_aligned(), MEM_guarded_reallocN_id(), MEM_guarded_recallocN_id(), MEM_lockfree_calloc_arrayN(), MEM_lockfree_calloc_arrayN_aligned(), MEM_lockfree_callocN(), MEM_lockfree_freeN(), MEM_lockfree_malloc_arrayN(), MEM_lockfree_mallocN(), MEM_lockfree_mallocN_aligned(), MEM_lockfree_reallocN_id(), MEM_lockfree_recallocN_id(), MEM_mallocN_aligned(), mesh_add_edges(), mesh_add_faces(), mesh_add_loops(), mesh_add_verts(), mesh_remove_edges(), mesh_remove_faces(), mesh_remove_loops(), mesh_remove_verts(), mesh_uv_reset_array(), meshdeform_ray_tree_intersect(), metadata_draw_imbuf(), blender::ComputeContextHash::mix_in(), mm2a_mix_tail(), MOD_solidify_nonmanifold_modifyMesh(), motion_path_cache(), blender::gpu::MSLGeneratorInterface::msl_patch_default_get(), mywrite(), new_folder_path(), blender::draw::SwapChain< T, len >::next(), blender::draw::SwapChain< T, len >::next(), nlaedit_split_strip_actclip(), blender::noise_table(), blender::noise_table(), blender::math::normalize(), blender::math::normalize(), mikk::float3::normalize(), normalize(), normalize(), normalize(), normalize(), normalize_len(), normalize_len(), normalize_m4(), normalize_m4_m4(), blender::asset_system::utils::normalize_path(), normalize_qt(), object_volume_density(), ObtainCacheParticleData(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_float_vec(), opj_seek_from_buffer(), osl_area(), blender::ed::outliner::outliner_buttons(), output_iris(), blender::geometry::p_chart_boundaries(), blender::geometry::p_chart_correct_degenerate_triangles2(), blender::geometry::p_chart_minimum_area_angle(), blender::geometry::p_chart_symmetry_pins(), blender::ed::sculpt_paint::paint_stroke_line_constrain(), parse_int_range_relative_clamp_n(), blender::io::ply::parse_word(), partition(), passtype_from_name(), paste_selection(), paste_text_exec(), path_len_no_trailing_slash(), point_calculate_handle(), blender::point_counts_to_keep_concurrent(), poly_avg(), poly_norm(), pose_slide_apply_props(), precise_angle(), blender::draw::SwapChain< T, len >::previous(), blender::draw::SwapChain< T, len >::previous(), btSphereSphereCollisionAlgorithm::processCollision(), prop_subscript_ass_array_int(), btSoftBody::PSolve_Links(), psys_get_dupli_path_transform(), ptcache_file_compressed_read(), ptcache_filepath(), ptcache_filepath_ext_append(), ptcache_frame_from_filename(), GHOST_SystemWin32::putClipboard(), PyC_Tuple_PackArray_Bool(), PyC_Tuple_PackArray_F32(), PyC_Tuple_PackArray_F64(), PyC_Tuple_PackArray_I32(), PyC_Tuple_PackArray_I32FromBool(), PyC_Tuple_PackArray_Multi_Bool_impl(), PyC_Tuple_PackArray_Multi_F32_impl(), PyC_Tuple_PackArray_Multi_F64_impl(), PyC_Tuple_PackArray_Multi_I32_impl(), PyC_Tuple_PackArray_String(), pygpu_buffer_to_list(), pygpu_buffer_to_list_recursive(), pygpu_fill_format_sequence(), pygpu_matrix_scale(), pygpu_matrix_translate(), pygpu_texture__tp_new(), pygpu_vertbuf__tp_new(), pygpu_vertformat_attr_add(), pyrna_array_contains_py(), pyrna_deferred_register_class_recursive(), pyrna_math_object_from_array(), pyrna_param_to_py(), pyrna_prop_array_ass_subscript(), pyrna_prop_array_iter(), pyrna_prop_array_subscript(), pyrna_prop_array_subscript_int(), pyrna_prop_collection_ass_subscript(), pyrna_prop_collection_ass_subscript_int(), pyrna_prop_collection_subscript(), pyrna_prop_collection_subscript_int(), pyrna_prop_str(), pyrna_py_from_array_index(), quad_from_tris(), Quaternion_angle_set(), Quaternion_axis_vector_set(), blender::bke::cryptomatte::manifest::quoted_string_len_(), radial_control_get_path(), ray_optical_depth(), blender::render::hydra::RenderTaskDelegate::read_aov(), read_file_as_buffer(), blender::io::obj::read_next_line(), readtab(), replace_bbone_len_scale_rnapath(), report_error_on_address(), report_error_on_address(), repr_str(), btSolve2LinearConstraint::resolveBilateralPairConstraint(), btSolve2LinearConstraint::resolveUnilateralPairConstraint(), rna_array_as_string(), rna_array_as_string_alloc(), rna_array_as_string_elem(), RNA_def_boolean_array(), RNA_def_boolean_layer(), RNA_def_boolean_layer_member(), RNA_def_boolean_vector(), RNA_def_float_array(), RNA_def_float_color(), RNA_def_float_rotation(), RNA_def_float_translation(), RNA_def_float_vector(), RNA_def_float_vector_xyz(), RNA_def_int_array(), RNA_def_int_vector(), rna_generate_property(), RNA_parameter_dynamic_length_get(), rna_parameter_size(), rna_path_parse_array_index(), rna_path_token(), rna_path_token_in_brackets(), RNA_property_animated(), rna_property_array_length_all_dimensions(), RNA_property_as_string(), RNA_property_boolean_get_default_index(), RNA_property_boolean_get_index(), RNA_property_boolean_set_index(), RNA_property_collection_clear(), RNA_property_collection_move(), RNA_property_collection_raw_get(), RNA_property_collection_raw_set(), RNA_property_collection_remove(), RNA_property_float_get_default_index(), RNA_property_float_get_index(), RNA_property_float_set_index(), RNA_property_int_get_default_index(), RNA_property_int_get_index(), RNA_property_int_set_index(), RNA_property_multi_array_length(), RNA_property_reset(), RNA_property_string_set_bytes(), rotation_contribution(), rule_avoid_collision(), rule_follow_leader(), rule_goal_avoid(), rule_separate(), blender::ed::geometry::run_node_group_get_name(), safe_normalize(), safe_normalize(), safe_normalize(), safe_normalize_fallback(), safe_normalize_len(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_modal(), blender::ed::sculpt_paint::color::sculpt_color_filter_modal(), blender::ed::sculpt_paint::filter::sculpt_mesh_update_strength(), select_bidomain(), select_similar_length(), seq_foreach_path_callback(), sequencer_change_path_exec(), sequencer_image_seq_reserve_frames(), serializeDynamicsWorldInfo(), btMultiBodyDynamicsWorld::serializeMultiBodies(), btDefaultSerializer::serializeName(), serializeRigidBodies(), serializeSingleBvh(), serializeSingleShape(), serializeSingleTriangleInfoMap(), btSoftMultiBodyDynamicsWorld::serializeSoftBodies(), btSoftRigidDynamicsWorld::serializeSoftBodies(), session_print(), set_case(), setNearestAxis3d(), single_scattering(), blender::draw::SwapChain< T, len >::size(), skin_choose_quad_bridge_order(), slide_dist(), space_text_cursor_set_to_pos_wrapped(), sphere_do(), stencil_control_calculate(), blender::draw::StorageArrayBuffer< T, len, device_only >::StorageArrayBuffer(), blender::draw::detail::StorageCommon< T, len, device_only >::StorageCommon(), str_tolower_titlecaps_ascii(), strbuf_append_path(), strbuf_trim(), string_dup(), string_endswith(), string_startswith(), blender::io::stl::StringBuffer::StringBuffer(), svm_node_camera(), svm_node_tex_gabor(), svm_node_vector_rotate(), svm_node_wireframe(), svm_vector_math(), svm_wave(), blender::draw::SwapChain< T, len >::swap(), system_physical_ram(), tan_angle(), blender::math::tests::TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), blender::draw::test_eevee_shadow_page_mask_ex(), blender::draw::test_eevee_shadow_tag_update(), text_autocomplete_build(), text_check_format_len(), text_convert_whitespace_exec(), text_format_fill(), text_format_fill_ascii(), text_from_buf(), text_insert_invoke(), texttool_suggest_add(), blender::gpu::GLStateManager::texture_unpack_row_length_set(), blender::gpu::MTLStateManager::texture_unpack_row_length_set(), blender::gpu::VKStateManager::texture_unpack_row_length_set(), textview_draw_string(), tracking_dopesheet_channels_segments_calc(), transform_decompose(), tri_to_quat(), triangle_area(), triangle_light_pdf(), blender::draw::StorageArrayBuffer< T, len, device_only >::trim_to_next_power_of_2(), txt_from_buf_for_undo(), txt_select_prefix(), txtfmt_glsl_format_line(), txtfmt_osl_format_line(), txtfmt_pov_format_line(), txtfmt_pov_ini_format_line(), txtfmt_py_format_line(), TYPED_TEST(), ui_block_calc_pie_segment(), ui_but_text_password_hide(), ui_do_but_HSVCIRCLE(), ui_do_but_HSVCUBE(), UI_draw_text_underline(), ui_handle_list_event(), ui_item_array(), ui_item_name_add_colon(), ui_item_rna_size(), ui_layer_but_cb(), UI_list_filter_and_sort_items(), ui_number_from_string_factor(), ui_number_from_string_percentage(), ui_numedit_but_HSVCIRCLE(), ui_selectcontext_apply(), ui_text_clip_cursor(), ui_textedit_begin(), ui_textedit_delete(), ui_textedit_delete_selection(), ui_textedit_insert_buf(), ui_textedit_move(), uiDefAutoButsArrayR(), uiItemFullR(), uiTemplateImageInfo(), uiTemplateMovieclipInformation(), blender::draw::UniformArrayBuffer< T, len >::UniformArrayBuffer(), blender::draw::detail::UniformCommon< T, len, device_only >::UniformCommon(), unique_name(), unit_as_string(), unit_scale_str(), unpack_generate_paths(), blender::ed::sculpt_paint::update_curve_mask(), blender::ed::sculpt_paint::update_sampled_curve(), blender::gpu::GLIndexBuf::update_sub(), blender::gpu::GLVertBuf::update_sub(), blender::gpu::MTLIndexBuf::update_sub(), blender::gpu::MTLVertBuf::update_sub(), btSoftBody::updateNormals(), utf8_char_decode(), util_murmur_hash3(), uvedit_uv_straighten_elements(), Freestyle::V2Normalize(), Freestyle::V2Scale(), validate_array_length(), vec_to_quat(), vector_angle(), blender::draw::vertbuf_alloc(), blender::draw::vertbuf_device_alloc(), blender::draw::vertbuf_update_data(), view3d_grid_steps_ex(), wireframe(), wm_autosave_location(), WM_gesture_lasso_path_to_array(), wm_gizmomap_select_array_ensure_len_alloc(), wm_read_exotic(), Camera::world_to_raster_size(), blender::math::QuaternionBase< T >::wrapped_around(), blender::io::ply::FileBuffer::write_fstring(), writedata(), and writetab().
|
static |
Definition at line 108 of file draw_manager_c.cc.
Referenced by DRW_notify_view_update().