Blender
V3.3
|
#include <stdio.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.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_curve.h"
#include "BKE_curves.h"
#include "BKE_duplilist.h"
#include "BKE_editmesh.h"
#include "BKE_global.h"
#include "BKE_gpencil.h"
#include "BKE_lattice.h"
#include "BKE_main.h"
#include "BKE_mball.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_particle.h"
#include "BKE_pbvh.h"
#include "BKE_pointcache.h"
#include "BKE_pointcloud.h"
#include "BKE_screen.h"
#include "BKE_subdiv_modifier.h"
#include "BKE_volume.h"
#include "DNA_camera_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_world_types.h"
#include "ED_gpencil.h"
#include "ED_screen.h"
#include "ED_space_api.h"
#include "ED_view3d.h"
#include "GPU_capabilities.h"
#include "GPU_framebuffer.h"
#include "GPU_immediate.h"
#include "GPU_matrix.h"
#include "GPU_platform.h"
#include "GPU_shader_shared.h"
#include "GPU_state.h"
#include "GPU_uniform_buffer.h"
#include "GPU_viewport.h"
#include "IMB_colormanagement.h"
#include "RE_engine.h"
#include "RE_pipeline.h"
#include "UI_resources.h"
#include "UI_view2d.h"
#include "WM_api.h"
#include "wm_window.h"
#include "draw_color_management.h"
#include "draw_manager.h"
#include "draw_manager_profiling.h"
#include "draw_manager_testing.h"
#include "draw_manager_text.h"
#include "draw_shader.h"
#include "draw_subdivision.h"
#include "draw_texture_pool.h"
#include "draw_cache_impl.h"
#include "engines/basic/basic_engine.h"
#include "engines/eevee/eevee_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.h"
#include "engines/workbench/workbench_engine.h"
#include "GPU_context.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "DRW_select_buffer.h"
Go to the source code of this file.
Classes | |
struct | IdDdtTemplate |
struct | DRWSelectBuffer |
Variables | |
DRWManager | DST = {NULL} |
struct { | |
ListBase engines | |
int len | |
} | g_registered_engines = {{NULL}} |
Draw Data (DRW_drawdata) | |
typedef struct IdDdtTemplate | IdDdtTemplate |
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) |
typedef struct IdDdtTemplate IdDdtTemplate |
|
static |
Definition at line 1904 of file draw_manager.c.
References channels(), ViewLayer::name, RE_engine_add_pass(), and user_data.
Referenced by DRW_render_to_image().
|
static |
Definition at line 2271 of file draw_manager.c.
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_width(), NULL, size(), and DRWSelectBuffer::texture_depth.
Referenced by DRW_draw_select_loop().
Definition at line 407 of file draw_manager.c.
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().
Definition at line 343 of file draw_manager.c.
References BLI_memblock_alloc(), DRWCullingState::bsphere, copy_v3_fl(), DRWData::cullstates, DRW_handle_increment(), DST, DRWObjectMatrix::model, DRWObjectMatrix::modelinverse, NULL, 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().
Definition at line 948 of file draw_manager.c.
References BKE_scene_get_depsgraph(), DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_END, depsgraph, DRW_batch_cache_free_old(), ListBase::first, Scene::id, ID::next, ViewLayer::next, NULL, PIL_check_seconds_timer(), scene, Main::scenes, and Scene::view_layers.
Referenced by view3d_main_region_draw().
Used when the render engine want to redo another cache populate inside the same render frame.
Definition at line 2099 of file draw_manager.c.
References DRWManager::buffer_finish_called, DRW_curves_init(), drw_manager_init(), DRW_smoke_exit(), DRW_smoke_init(), DRW_volume_init(), DST, DRWManager::viewport, and DRWManager::vmempool.
Referenced by EEVEE_motion_blur_cache_finish(), eevee_render_to_image(), and blender::eevee::Instance::render_sync().
const DRWContextState* DRW_context_state_get | ( | void | ) |
Definition at line 2892 of file draw_manager.c.
References DRWManager::draw_ctx, and DST.
Referenced by basic_cache_init(), basic_cache_populate(), blender::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::cache_image(), blender::draw::image_engine::ImageEngine< DrawingMode >::cache_populate(), camera_view3d_reconstruction(), draw_armature_pose(), drw_batch_cache_generate_requested(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), DRW_cache_gpencil_face_wireframe_get(), DRW_curves_pos_buffer_get(), DRW_curves_texture_for_evaluated_attribute(), 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_hair_pos_buffer_get(), DRW_mball_batch_cache_pos_vertbuf_get(), DRW_metaball_batch_cache_get_edge_detection(), DRW_metaball_batch_cache_get_triangles_with_normals(), DRW_metaball_batch_cache_get_wireframes_face(), DRW_object_is_visible_psys_in_active_context(), DRW_object_wire_theme_get(), drw_particle_get_hair_source(), drw_particle_update_ptcache(), drw_particle_update_ptcache_edit(), DRW_render_object_iter(), drw_sculpt_generate_calls(), DRW_shgroup_curves_create_sub(), DRW_shgroup_hair_create_sub(), DRW_volume_batch_cache_get_wireframes_face(), EEVEE_bloom_init(), eevee_cache_finish(), EEVEE_cache_populate(), EEVEE_cryptomatte_cache_populate(), eevee_cryptomatte_download_buffer(), EEVEE_cryptomatte_output_accumulate(), EEVEE_cryptomatte_output_init(), EEVEE_cryptomatte_particle_hair_cache_populate(), eevee_cryptomatte_postprocess_weights(), EEVEE_cryptomatte_render_result(), EEVEE_cryptomatte_renderpasses_init(), eevee_cryptomatte_shading_group_create(), EEVEE_cryptomatte_store_metadata(), EEVEE_depth_of_field_init(), eevee_draw_scene(), eevee_engine_init(), eevee_light_setup(), EEVEE_lightprobes_cache_finish(), EEVEE_lightprobes_cache_init(), EEVEE_lightprobes_init(), EEVEE_lightprobes_refresh(), EEVEE_lookdev_cache_init(), EEVEE_lookdev_draw(), eevee_lookdev_hdri_preview_init(), EEVEE_lookdev_init(), EEVEE_materials_cache_init(), EEVEE_materials_cache_populate(), EEVEE_materials_init(), EEVEE_mist_output_init(), EEVEE_motion_blur_cache_init(), EEVEE_motion_blur_cache_populate(), EEVEE_motion_blur_init(), EEVEE_occlusion_init(), EEVEE_particle_hair_cache_populate(), eevee_render_result_aovs(), eevee_render_to_image(), EEVEE_renderpasses_init(), EEVEE_screen_raytrace_init(), EEVEE_shadows_init(), EEVEE_subsurface_cache_init(), EEVEE_temporal_sampling_init(), EEVEE_temporal_sampling_matrices_calc(), EEVEE_volumes_cache_init(), EEVEE_volumes_init(), 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(), GPENCIL_cache_init(), GPENCIL_cache_populate(), GPENCIL_engine_init(), GPENCIL_render_result_z(), GPENCIL_render_to_image(), gpencil_sbuffer_cache_populate(), gpencil_sbuffer_cache_populate_fast(), gpencil_sbuffer_stroke_ensure(), blender::draw::image_engine::IMAGE_cache_init(), blender::draw::image_engine::IMAGE_draw_scene(), material_opaque(), material_shadow(), material_transparent(), motion_path_cache(), blender::eevee::Instance::object_sync(), OVERLAY_armature_cache_init(), OVERLAY_armature_cache_populate(), OVERLAY_background_cache_init(), OVERLAY_cache_populate(), OVERLAY_camera_cache_populate(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_curves_cache_init(), OVERLAY_edit_curves_init(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_gpencil_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_populate(), OVERLAY_fade_cache_init(), OVERLAY_fade_cache_populate(), OVERLAY_gpencil_cache_init(), OVERLAY_gpencil_cache_populate(), OVERLAY_gpencil_color_names(), overlay_gpencil_draw_stroke_color_name(), 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_outline_cache_populate(), OVERLAY_paint_cache_init(), OVERLAY_paint_init(), OVERLAY_particle_cache_init(), OVERLAY_sculpt_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_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_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_selection(), OVERLAY_shader_sculpt_mask(), OVERLAY_shader_uniform_color(), OVERLAY_shader_wireframe(), OVERLAY_shader_wireframe_select(), OVERLAY_speaker_cache_populate(), OVERLAY_wireframe_cache_init(), OVERLAY_wireframe_cache_populate(), OVERLAY_wireframe_init(), particle_batch_cache_ensure_pos(), POSE_is_driven_by_active_armature(), request_attribute(), select_cache_init(), select_cache_populate(), select_engine_init(), blender::draw::color_management::viewport_color_management_set(), workbench_antialiasing_sample_count_get(), workbench_cache_hair_populate(), workbench_cache_texpaint_populate(), workbench_cavity_data_update(), workbench_cavity_samples_ubo_ensure(), workbench_color_type_get(), workbench_dof_engine_init(), workbench_in_front_history_needed(), workbench_private_data_init(), workbench_render(), workbench_render_result_z(), workbench_shadow_data_update(), and workbench_update_material_ubos().
Definition at line 309 of file draw_manager.c.
References BKE_object_pose_armature_get(), DRWManager::draw_ctx, DST, GPU_SHADER_CFG_CLIPPED, GPU_SHADER_CFG_DEFAULT, Object::mode, NULL, 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(), 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, |
struct Depsgraph * | depsgraph, | ||
void(*)(void *vedata, void *user_data) | callback, | ||
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 2047 of file draw_manager.c.
References DRWManager::buffer_finish_called, callback, data, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWManager::draw_background, DRWManager::draw_ctx, drw_context_state_init(), DRW_curves_init(), drw_manager_exit(), drw_manager_init(), DRW_smoke_exit(), DRW_smoke_init(), drw_state_prepare_clean_for_draw(), DRW_view_data_engine_data_get_ensure(), DRW_volume_init(), DST, GPU_backend_get_type(), GPU_BACKEND_OPENGL, GPU_finish(), GPU_framebuffer_restore(), DRWManager::is_image_render, DRWManager::is_scene_render, NULL, OB_MODE_OBJECT, DRWManager::options, scene, DRWContextState::scene, type, user_data, DRWManager::view_data_active, and DRWManager::vmempool.
Referenced by lightbake_do_sample().
Definition at line 1405 of file draw_manager.c.
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, usdtokens::st(), 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().
Definition at line 1390 of file draw_manager.c.
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 | ( | struct Depsgraph * | depsgraph, |
ARegion * | region, | ||
View3D * | v3d, | ||
GPUViewport * | viewport, | ||
const bool | use_gpencil, | ||
const bool | use_basic, | ||
const bool | use_overlay | ||
) |
object mode select-loop, see: ED_view3d_draw_depth_loop (legacy drawing).
Definition at line 2538 of file draw_manager.c.
References BKE_object_is_visible_in_viewport(), data_, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_END, depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, draw_engine_gpencil_type, drw_context_state_init(), DRW_curves_init(), DRW_curves_update(), 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(), GPU_framebuffer_bind(), GPU_framebuffer_free(), GPU_framebuffer_restore(), GPU_viewport_depth_texture(), DRWManager::is_depth, NULL, OBACT, View3D::object_type_exclude_viewport, DRWManager::options, DRWContextState::region, ARegion::regiondata, scene, DRWContextState::scene, View3D::shading, View3DShading::type, use_drw_engine(), and DRWManager::vmempool.
Referenced by ED_view3d_depth_override().
void DRW_draw_depth_object | ( | struct Scene * | scene, |
struct ARegion * | region, | ||
struct View3D * | v3d, | ||
struct GPUViewport * | viewport, | ||
struct Object * | object | ||
) |
Clears the Depth Buffer and draws only the specified object.
Definition at line 2727 of file draw_manager.c.
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(), DRW_mesh_batch_cache_create_requested(), DRW_mesh_batch_cache_get_edit_triangles(), DRW_mesh_batch_cache_get_surface(), ED_view3d_clipping_local(), 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_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(), GPUBatch, Object::mode, GPUClipPlanes::ModelMatrix, NULL, OB_CURVES_LEGACY, OB_MESH, OB_MODE_EDIT, OB_SURF, Object::obmat, ARegion::regiondata, RV3D_CLIPPING_ENABLED, scene, Object::type, RegionView3D::viewmat, RegionView3D::winmat, and GPUClipPlanes::world.
Referenced by ED_view3d_depth_override().
void DRW_draw_region_engine_info | ( | int | xoffset, |
int * | yoffset, | ||
int | line_height | ||
) |
Draw render engine info.
Definition at line 1107 of file draw_manager.c.
References BLF_default(), BLF_disable(), BLF_draw_default(), BLF_enable(), BLF_shadow(), BLF_SHADOW, BLF_shadow_offset(), BLI_strncpy(), data, DRW_ENABLED_ENGINE_ITER, DST, GPU_INFO_SIZE, TH_TEXT_HI, UI_FontThemeColor(), and DRWManager::view_data_active.
Referenced by view3d_draw_region_info().
void DRW_draw_render_loop | ( | struct Depsgraph * | depsgraph, |
ARegion * | region, | ||
View3D * | v3d, | ||
GPUViewport * | viewport | ||
) |
Definition at line 1731 of file draw_manager.c.
References DEG_get_evaluated_scene(), depsgraph, DRW_draw_render_loop_ex(), drw_state_prepare_clean_for_draw(), DST, ED_view3d_engine_type(), NULL, scene, View3D::shading, and View3DShading::type.
void DRW_draw_render_loop_2d_ex | ( | struct Depsgraph * | depsgraph, |
ARegion * | region, | ||
GPUViewport * | viewport, | ||
const bContext * | evil_C | ||
) |
Definition at line 2112 of file draw_manager.c.
References BLI_assert, CTX_wm_space_data(), View2D::cur, DRWManager::default_framebuffer, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_END, 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, 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_restore(), GPU_matrix_pop_projection(), GPU_matrix_push_projection(), GPU_OS_ANY, GPU_type_matches_ex(), NULL, OBACT, DefaultFramebufferList::overlay_fb, PROFILE_END_UPDATE, PROFILE_START, DRWContextState::region, REGION_DRAW_POST_VIEW, REGION_DRAW_PRE_VIEW, scene, DRWContextState::space_data, SPACE_IMAGE, SpaceLink::spacetype, ARegion::v2d, DRWManager::view_data_active, WM_draw_region_get_bound_viewport(), wmOrtho2(), rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by DRW_draw_view().
void DRW_draw_render_loop_ex | ( | struct Depsgraph * | depsgraph, |
RenderEngineType * | engine_type, | ||
ARegion * | region, | ||
View3D * | v3d, | ||
GPUViewport * | viewport, | ||
const bContext * | evil_C | ||
) |
Definition at line 1593 of file draw_manager.c.
References BKE_object_is_visible_in_viewport(), BLI_assert, data_, DRWManager::default_framebuffer, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_END, depsgraph, DRWManager::draw_ctx, drw_context_state_init(), DRW_curves_init(), DRW_curves_update(), 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::evil_C, RenderEngineType::flag, View3D::flag2, GPU_BACKEND_OPENGL, GPU_DEVICE_ANY, GPU_DRIVER_ANY, GPU_flush(), GPU_framebuffer_active_get(), GPU_framebuffer_back_get(), GPU_framebuffer_bind(), GPU_framebuffer_restore(), GPU_OS_ANY, GPU_type_matches_ex(), NULL, OB_RENDER, OBACT, View3D::object_type_exclude_viewport, PROFILE_END_UPDATE, PROFILE_START, RE_INTERNAL, DRWContextState::region, ARegion::regiondata, scene, View3D::shading, View3DShading::type, V3D_HIDE_OVERLAYS, DRWManager::view_data_active, 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 | ( | struct Depsgraph * | depsgraph, |
struct RenderEngineType * | engine_type, | ||
struct ARegion * | region, | ||
struct View3D * | v3d, | ||
bool | is_image_render, | ||
bool | draw_background, | ||
bool | do_color_management, | ||
struct GPUOffScreen * | ofs, | ||
struct GPUViewport * | viewport | ||
) |
viewport | can be NULL, in this case we create one. |
Definition at line 1745 of file draw_manager.c.
References depsgraph, DRWManager::draw_background, draw_background(), DRW_draw_render_loop_ex(), drw_notify_view_update_offscreen(), drw_state_prepare_clean_for_draw(), DST, ELEM, View3DShading::flag, View3D::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, NULL, 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().
void DRW_draw_select_id | ( | Depsgraph * | depsgraph, |
ARegion * | region, | ||
View3D * | v3d, | ||
const rcti * | rect | ||
) |
Definition at line 2653 of file draw_manager.c.
References DRWManager::buffer_finish_called, DEG_get_evaluated_object(), DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), 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_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, SELECTID_Context::index_drawn_len, SELECTID_Context::is_dirty, SELECTID_Context::last_rect, NULL, OBACT, SELECTID_Context::objects, SELECTID_Context::objects_drawn_len, SELECTID_Context::objects_len, DRWContextState::region, ARegion::regiondata, RGN_TYPE_WINDOW, scene, SPACE_VIEW3D, UI_SetTheme(), use_drw_engine(), DRWManager::vmempool, and WM_draw_region_get_viewport().
void DRW_draw_select_loop | ( | struct Depsgraph * | depsgraph, |
ARegion * | region, | ||
View3D * | v3d, | ||
bool | use_obedit_skip, | ||
bool | draw_surface, | ||
bool | UNUSEDuse_nearest, | ||
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 | ||
) |
Definition at line 2310 of file draw_manager.c.
References BASE_FROM_DUPLI, BASE_SELECTABLE, BASE_VISIBLE_VIEWLAYER, BKE_modifiers_is_deformed_by_armature(), BKE_object_is_visible_in_viewport(), BLI_rcti_size_x(), BLI_rcti_size_y(), data_, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_END, depsgraph, DRWManager::draw_ctx, draw_engine_gpencil_type, draw_select_framebuffer_depth_only_setup(), drw_context_state_init(), DRW_curves_init(), DRW_curves_update(), 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_volume_init(), DST, DRWManager::dupli_origin, DRWManager::dupli_origin_data, DRWManager::dupli_parent, DRWManager::dupli_source, ED_view3d_engine_type(), View3DOverlay::flag, View3D::flag2, FOREACH_OBJECT_IN_MODE_BEGIN, FOREACH_OBJECT_IN_MODE_END, DRWSelectBuffer::framebuffer_depth_only, g_select_buffer, GPU_framebuffer_bind(), GPU_framebuffer_restore(), DRWManager::is_material_select, DRWManager::is_select, Object::mode, NULL, OB_ARMATURE, OB_MBALL, OB_MODE_POSE, 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, ARegion::regiondata, scene, View3D::shading, Object::type, View3DShading::type, UNUSED_VARS, use_drw_engine(), V3D_HIDE_OVERLAYS, V3D_OVERLAY_BONE_SELECT, and DRWManager::vmempool.
Definition at line 127 of file draw_manager.c.
References BLI_assert, DRWManager::draw_ctx, DST, SpaceImage::flag, View3D::flag2, NULL, return(), 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().
Definition at line 1566 of file draw_manager.c.
References RenderData::alphamode, C, 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, Scene::r, R_ADDSKY, scene, View3D::shading, View3DShading::type, V3D_HIDE_OVERLAYS, V3D_OVERLAY_HIDE_TEXT, and WM_draw_region_get_bound_viewport().
DrawData* DRW_drawdata_ensure | ( | ID * | id, |
DrawEngineType * | engine_type, | ||
size_t | size, | ||
DrawDataInitCb | init_cb, | ||
DrawDataFreeCb | free_cb | ||
) |
Definition at line 866 of file draw_manager.c.
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, id_can_have_drawdata(), ID_OB, DRWData::idatalist, MAX_INSTANCE_DATA_SIZE, MEM_callocN, ID::name, NULL, DRWManager::object_instance_data, size(), t, and DRWManager::vmempool.
Referenced by EEVEE_light_data_ensure(), EEVEE_lightprobe_data_ensure(), EEVEE_object_data_ensure(), EEVEE_world_data_ensure(), select_cache_populate(), blender::eevee::SyncModule::sync_object(), blender::eevee::SyncModule::sync_world(), and workbench_shadow_cache_populate().
Definition at line 911 of file draw_manager.c.
References BLI_freelistN(), DRW_drawdatalist_from_id(), LISTBASE_FOREACH, and NULL.
Referenced by object_free_data(), and world_free_data().
DrawData* DRW_drawdata_get | ( | ID * | id, |
DrawEngineType * | engine_type | ||
) |
Definition at line 850 of file draw_manager.c.
References DRW_drawdatalist_from_id(), LISTBASE_FOREACH, and NULL.
Referenced by DRW_drawdata_ensure(), DRW_select_buffer_context_offset_for_object_elem(), EEVEE_light_data_get(), EEVEE_lightprobe_data_get(), EEVEE_object_data_get(), EEVEE_world_data_get(), select_cache_init(), select_cache_populate(), and workbench_id_update().
Definition at line 929 of file draw_manager.c.
References BASE_FROM_DUPLI, BLI_listbase_clear(), DRW_drawdatalist_from_id(), GS, id, ID_OB, ID::name, and NULL.
Referenced by drw_engines_cache_populate().
DrawDataList* DRW_drawdatalist_from_id | ( | struct 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 struct in the same fashion as in IdDdtTemplate.
Definition at line 836 of file draw_manager.c.
References IdDdtTemplate::drawdata, id_can_have_drawdata(), and NULL.
Referenced by direct_link_id_common(), DRW_drawdata_ensure(), DRW_drawdata_free(), DRW_drawdata_get(), drw_drawdata_unlink_dupli(), and blender::deg::RuntimeBackup::init_from_id().
Definition at line 733 of file draw_manager.c.
References BLI_ghash_free(), DST, DRWManager::dupli_ghash, duplidata_key_free(), duplidata_value_free(), and NULL.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_ex(), DRW_draw_select_loop(), and DRW_render_object_iter().
Return NULL if not a dupli or a pointer of pointer to the engine data.
Definition at line 741 of file draw_manager.c.
References DST, DRWManager::dupli_datas, DRWManager::dupli_source, ViewportEngineData::engine_type, DRWRegisteredDrawEngine::index, and NULL.
Referenced by OVERLAY_duplidata_get().
Definition at line 669 of file draw_manager.c.
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, NULL, DupliObject::ob, DupliKey::ob, DupliObject::ob_data, and DupliKey::ob_data.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_ex(), DRW_draw_select_loop(), and DRW_render_object_iter().
Definition at line 1185 of file draw_manager.c.
References draw_engine_external_type, draw_engine_image_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 2908 of file draw_manager.c.
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 2903 of file draw_manager.c.
References DrawEngineType::render_to_image.
Referenced by RE_engine_is_opengl().
Definition at line 1066 of file draw_manager.c.
References data, DRW_ENABLED_ENGINE_ITER, 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().
Definition at line 1000 of file draw_manager.c.
References data, DRW_ENABLED_ENGINE_ITER, DRW_text_cache_destroy(), DST, NULL, 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().
Definition at line 1030 of file draw_manager.c.
References data, 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().
Definition at line 1243 of file draw_manager.c.
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().
Definition at line 1238 of file draw_manager.c.
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().
Definition at line 1075 of file draw_manager.c.
References data, 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().
Definition at line 1094 of file draw_manager.c.
References data, 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 1217 of file draw_manager.c.
References DRWManager::draw_ctx, draw_engine_debug_select_type, draw_engine_gpencil_type, drw_engines_enable_from_engine(), drw_engines_enable_overlays(), 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().
Use for select and depth-drawing.
Definition at line 1180 of file draw_manager.c.
References draw_engine_basic_type, and use_drw_engine().
Referenced by DRW_draw_depth_loop(), and DRW_draw_select_loop().
Definition at line 1197 of file draw_manager.c.
References DRWManager::draw_ctx, draw_engine_image_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 1153 of file draw_manager.c.
References RenderEngineType::draw_engine, DRW_engine_viewport_external_type, DRW_engine_viewport_workbench_type, RenderEngineType::flag, NULL, OB_MATERIAL, OB_RENDER, OB_SOLID, OB_WIRE, RE_INTERNAL, and use_drw_engine().
Referenced by drw_engines_enable().
Definition at line 1173 of file draw_manager.c.
References draw_engine_overlay_type, and use_drw_engine().
Referenced by DRW_draw_depth_loop(), DRW_draw_select_loop(), and drw_engines_enable().
Definition at line 2992 of file draw_manager.c.
References DRW_Global::block_ubo, DRWManager::draw_list, DRW_curves_free(), DRW_globals_free(), DRW_opengl_context_disable(), DRW_opengl_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, DRWManager::gl_context, GPU_draw_list_discard(), NULL, DRW_Global::ramp, DRWSelectBuffer::texture_depth, DRW_Global::view_ubo, and DRW_Global::weight_ramp.
Referenced by RE_engines_exit().
Definition at line 984 of file draw_manager.c.
References data, 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().
Definition at line 2925 of file draw_manager.c.
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_lattice_batch_cache_dirty_tag_cb, BKE_lattice_batch_cache_free_cb, BKE_mball_batch_cache_dirty_tag_cb, BKE_mball_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_debug_select_type, draw_engine_gpencil_type, draw_engine_image_type, draw_engine_overlay_type, draw_engine_select_type, DRW_curve_batch_cache_dirty_tag(), DRW_curve_batch_cache_free(), DRW_curves_batch_cache_dirty_tag(), DRW_curves_batch_cache_free(), DRW_engine_register(), DRW_engine_viewport_eevee_type, DRW_engine_viewport_external_type, DRW_engine_viewport_workbench_type, DRW_gpencil_batch_cache_dirty_tag(), DRW_gpencil_batch_cache_free(), DRW_lattice_batch_cache_dirty_tag(), DRW_lattice_batch_cache_free(), DRW_mball_batch_cache_dirty_tag(), DRW_mball_batch_cache_free(), DRW_mesh_batch_cache_dirty_tag(), DRW_mesh_batch_cache_free(), DRW_particle_batch_cache_dirty_tag(), DRW_particle_batch_cache_free(), DRW_pointcloud_batch_cache_dirty_tag(), DRW_pointcloud_batch_cache_free(), DRW_subdiv_cache_free(), DRW_volume_batch_cache_dirty_tag(), DRW_volume_batch_cache_free(), and RE_engines_register().
Referenced by RE_engines_init().
Definition at line 2918 of file draw_manager.c.
References DRW_engine_viewport_eevee_next_type, and RE_engines_register().
Referenced by RE_engines_init_experimental().
Definition at line 1017 of file draw_manager.c.
References data, DRW_ENABLED_ENGINE_ITER, DST, World::id, NULL, scene, DRWManager::view_data_active, and Scene::world.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_ex(), and DRW_draw_select_loop().
Definition at line 1250 of file draw_manager.c.
References DEG_id_type_any_exists(), depsgraph, ID_GD, OB_GPENCIL, 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().
Definition at line 3187 of file draw_manager.c.
References GPU_context_active_set(), GPU_flush(), and NULL.
Referenced by DRW_render_context_disable().
Needs to be called AFTER DRW_opengl_render_context_enable().
Definition at line 3179 of file draw_manager.c.
References BLI_assert, BLI_thread_is_main(), and GPU_context_active_set().
Referenced by DRW_render_context_enable(), eevee_lightbake_context_enable(), and eevee_lightbake_delete_resources().
|
static |
Definition at line 620 of file draw_manager.c.
References DRW_viewport_data_free(), NULL, DRWManager::viewport, and DRWManager::vmempool.
Referenced by DRW_custom_pipeline(), 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 495 of file draw_manager.c.
References BLI_assert, BLI_rctf_transform_calc_m4_pivot_min(), RegionView3D::clip, View2D::cur, DefaultFramebufferList::default_fb, DRWManager::default_framebuffer, DRWManager::draw_ctx, DRWManager::draw_list, draw_unit_state_create(), DRW_DRAWLIST_LEN, DRW_view_camtexco_set(), 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::inv_size, normalize_v3_v3(), NULL, 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, DRWManager::screenvecs, DRWContextState::sh_cfg, size(), DRWManager::size, tex, unit_m4(), ARegion::v2d, view, DRWManager::view_active, DRWData::view_data, DRWManager::view_data_active, DRWManager::view_default, DRWManager::view_previous, DRW_Global::view_ubo, RegionView3D::viewcamtexcofac, RegionView3D::viewinv, RegionView3D::viewmat, DRWManager::viewport, DRWManager::vmempool, RegionView3D::winmat, and zero_v3().
Referenced by DRW_cache_restart(), DRW_custom_pipeline(), 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 1262 of file draw_manager.c.
References BLI_ticket_mutex_lock(), BLI_ticket_mutex_unlock(), data, depsgraph, DRWUpdateContext::depsgraph, DRWManager::draw_ctx, DRW_ENABLED_ENGINE_ITER, drw_engines_data_validate(), drw_engines_disable(), drw_engines_enable(), drw_gpencil_engine_needed(), drw_manager_exit(), drw_state_prepare_clean_for_draw(), drw_viewport_data_ensure(), DST, DRWUpdateContext::engine_type, G, DRWManager::gl_context_mutex, GPU_viewport_is_stereo_get(), OB_MODE_OBJECT, OBACT, DRWUpdateContext::region, DRWContextState::region, ARegion::regiondata, scene, DRWUpdateContext::scene, DRWUpdateContext::v3d, view, DRWData::view_data, DRWManager::view_data_active, 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 1330 of file draw_manager.c.
References data, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWManager::draw_ctx, DRW_ENABLED_ENGINE_ITER, drw_engines_data_validate(), drw_engines_disable(), drw_engines_enable(), drw_gpencil_engine_needed(), drw_manager_exit(), drw_state_prepare_clean_for_draw(), drw_viewport_data_ensure(), DST, GPU_viewport_do_update(), GPU_viewport_is_stereo_get(), OBACT, DRWContextState::region, ARegion::regiondata, scene, view, DRWData::view_data, DRWManager::view_data_active, DRWManager::viewport, and DRWManager::vmempool.
Referenced by DRW_draw_render_loop_offscreen().
struct DupliObject* DRW_object_get_dupli | ( | const Object * | UNUSEDob | ) |
Definition at line 269 of file draw_manager.c.
References DST, and DRWManager::dupli_source.
Referenced by DRW_hair_duplimat_get(), EEVEE_motion_blur_object_data_get(), and wireframe_hair_cache_populate().
Definition at line 264 of file draw_manager.c.
References DST, and DRWManager::dupli_parent.
Referenced by drw_call_obinfos_init(), DRW_hair_duplimat_get(), DRW_object_wire_theme_get(), EEVEE_motion_blur_object_data_get(), OVERLAY_cache_populate(), OVERLAY_wireframe_cache_populate(), and wireframe_hair_cache_populate().
Definition at line 196 of file draw_manager.c.
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_mesh_batch_cache_create_requested(), DRW_object_is_renderable(), overlay_edit_uv_cache_populate(), overlay_object_is_edit_mode(), and OVERLAY_wireframe_cache_populate().
Definition at line 180 of file draw_manager.c.
References Object::base_flag, BASE_VISIBLE_DEPSGRAPH, BLI_assert, DRWManager::draw_ctx, DRW_object_is_in_edit_mode(), DST, View3DOverlay::edit_flag, OB_MESH, DRWContextState::object_edit, View3D::overlay, Object::type, DRWContextState::v3d, and V3D_OVERLAY_EDIT_OCCLUDE_WIRE.
Referenced by basic_cache_populate(), EEVEE_cache_populate(), external_cache_populate(), blender::eevee::Instance::object_sync(), OVERLAY_cache_populate(), and workbench_cache_populate().
bool DRW_object_is_visible_psys_in_active_context | ( | const Object * | object, |
const ParticleSystem * | psys | ||
) |
Definition at line 234 of file draw_manager.c.
References ParticleSettings::childtype, DRWContextState::depsgraph, DRW_context_state_get(), DRW_state_is_image_render(), ParticleSystem::flag, PointCache::flag, ParticleEditSettings::flag, Object::mode, OB_MODE_PARTICLE_EDIT, DRWContextState::object_edit, ParticleSystem::part, ToolSettings::particle, PE_DRAW_PART, ParticleSystem::pointcache, psys_check_enabled(), PSYS_HAIR_DYNAMICS, psys_in_edit_mode(), PTCACHE_BAKED, scene, DRWContextState::scene, and Scene::toolsettings.
Referenced by basic_cache_populate_particles(), EEVEE_cryptomatte_particle_hair_cache_populate(), EEVEE_particle_hair_cache_populate(), external_cache_populate(), OVERLAY_particle_cache_populate(), OVERLAY_wireframe_cache_populate(), blender::eevee::SyncModule::sync_curves(), and workbench_cache_populate().
Definition at line 215 of file draw_manager.c.
References Object::data, Mesh::editflag, ME_EDIT_PAINT_FACE_SEL, 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 workbench_color_type_get().
int DRW_object_visibility_in_active_context | ( | const Object * | ob | ) |
Definition at line 209 of file draw_manager.c.
References BKE_object_visibility(), DAG_EVAL_RENDER, DAG_EVAL_VIEWPORT, and DRW_state_is_scene_render().
Referenced by DRW_render_check_grease_pencil(), EEVEE_cache_populate(), EEVEE_render_cache(), external_cache_populate(), GPENCIL_cache_populate(), GPENCIL_render_cache(), blender::eevee::Instance::object_sync(), overlay_edit_uv_cache_populate(), OVERLAY_relationship_lines(), and workbench_cache_populate().
Definition at line 3294 of file draw_manager.c.
References BLI_thread_is_main(), DST, DRWManager::gl_context, DRWManager::gpu_context, GPU_context_active_set(), WM_opengl_context_activate(), and wm_window_reset_drawable().
Referenced by BlenderDisplayDriver::gl_context_create(), and BlenderDisplayDriver::gl_context_dispose().
Definition at line 3081 of file draw_manager.c.
References BLI_assert, BLI_ticket_mutex_alloc(), DST, DRWManager::gl_context, DRWManager::gl_context_mutex, DRWManager::gpu_context, GPU_context_create(), NULL, WM_opengl_context_activate(), WM_opengl_context_create(), and wm_window_reset_drawable().
Referenced by WM_init_opengl().
Definition at line 3095 of file draw_manager.c.
References BLI_assert, BLI_thread_is_main(), BLI_ticket_mutex_free(), DST, DRWManager::gl_context, DRWManager::gl_context_mutex, DRWManager::gpu_context, GPU_context_active_set(), GPU_context_discard(), NULL, WM_opengl_context_activate(), and WM_opengl_context_dispose().
Referenced by WM_exit_ex().
Definition at line 3157 of file draw_manager.c.
References DRW_opengl_context_disable_ex().
Referenced by DRW_engines_free(), DRW_render_context_disable(), DRW_select_buffer_read(), ED_view3d_draw_offscreen_imbuf(), eevee_lightbake_context_disable(), eevee_lightbake_delete_resources(), GPU_viewport_unbind(), screen_opengl_render_doit(), screen_opengl_render_end(), screen_opengl_render_init(), and view3d_opengl_select_ex().
Definition at line 3120 of file draw_manager.c.
References BLI_thread_is_main(), BLI_ticket_mutex_unlock(), DST, DRWManager::gl_context, DRWManager::gl_context_mutex, GPU_BACKEND_OPENGL, GPU_context_active_set(), GPU_DEVICE_ANY, GPU_DRIVER_ANY, GPU_flush(), GPU_OS_MAC, GPU_render_end(), GPU_type_matches_ex(), NULL, WM_opengl_context_release(), and wm_window_reset_drawable().
Referenced by DRW_opengl_context_disable(), and WM_exit_ex().
Definition at line 3147 of file draw_manager.c.
References DRW_opengl_context_enable_ex(), DST, G, DRWManager::gl_context, NULL, and WM_init_opengl().
Referenced by DRW_engines_free(), DRW_render_context_enable(), DRW_select_buffer_read(), ED_view3d_draw_offscreen_imbuf(), eevee_lightbake_context_enable(), eevee_lightbake_delete_resources(), GPU_viewport_bind(), screen_opengl_render_doit(), screen_opengl_render_end(), screen_opengl_render_init(), and view3d_opengl_select_ex().
Definition at line 3107 of file draw_manager.c.
References BLI_ticket_mutex_lock(), DST, DRWManager::gl_context, DRWManager::gl_context_mutex, DRWManager::gpu_context, GPU_context_active_set(), GPU_render_begin(), NULL, and WM_opengl_context_activate().
Referenced by DRW_opengl_context_enable().
Definition at line 3276 of file draw_manager.c.
References BLI_thread_is_main(), DST, DRWManager::gl_context, DRWManager::gpu_context, GPU_context_active_get(), GPU_context_active_set(), NULL, and WM_opengl_context_release().
Referenced by BlenderDisplayDriver::gl_context_create(), and BlenderDisplayDriver::gl_context_dispose().
Definition at line 3172 of file draw_manager.c.
References BLI_ticket_mutex_unlock(), DST, DRWManager::gl_context_mutex, and WM_opengl_context_release().
Referenced by DRW_render_context_disable(), eevee_lightbake_context_disable(), and eevee_lightbake_delete_resources().
Definition at line 3162 of file draw_manager.c.
References BLI_assert, BLI_thread_is_main(), BLI_ticket_mutex_lock(), DST, DRWManager::gl_context_mutex, and WM_opengl_context_activate().
Referenced by DRW_render_context_enable(), eevee_lightbake_context_enable(), and eevee_lightbake_delete_resources().
Definition at line 2975 of file draw_manager.c.
References BLI_listbase_clear(), BLI_remlink(), g_registered_engines, MEM_freeN, next, R_engines, and type.
Referenced by DRW_engines_free().
Helper to check if exit object type to render.
Definition at line 1808 of file draw_manager.c.
References DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_END, depsgraph, drw_gpencil_engine_needed(), DRW_object_visibility_in_active_context(), NULL, OB_GPENCIL, and OB_VISIBLE_SELF.
Referenced by DRW_render_gpencil(), and engine_depsgraph_init().
Definition at line 3054 of file draw_manager.c.
References DRW_gpu_render_context_disable(), DRW_opengl_context_disable(), DRW_opengl_render_context_disable(), GPU_context_main_unlock(), GPU_use_main_context_workaround(), NULL, RE_gl_context_get(), and RE_gpu_context_get().
Referenced by DRW_render_gpencil(), engine_depsgraph_free(), engine_depsgraph_init(), engine_render_view_layer(), and RE_engine_render_context_disable().
Definition at line 3027 of file draw_manager.c.
References DRW_gpu_render_context_enable(), DRW_opengl_context_enable(), DRW_opengl_render_context_enable(), DST, G, DRWManager::gl_context, GPU_context_main_lock(), GPU_use_main_context_workaround(), NULL, RE_gl_context_get(), RE_gpu_context_get(), and WM_init_opengl().
Referenced by DRW_render_gpencil(), engine_depsgraph_free(), engine_depsgraph_init(), engine_render_view_layer(), and RE_engine_render_context_enable().
void DRW_render_gpencil | ( | struct RenderEngine * | engine, |
struct Depsgraph * | depsgraph | ||
) |
Definition at line 1837 of file draw_manager.c.
References RenderData::alphamode, BLI_assert, BLI_rcti_init(), BLI_rcti_is_empty(), DRWManager::buffer_finish_called, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), 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, ListBase::first, GPU_DEPTH_NONE, GPU_depth_test(), GPU_framebuffer_restore(), DRWManager::is_image_render, DRWManager::is_scene_render, ViewLayer::name, Render::name, NULL, OB_MODE_OBJECT, DRWManager::options, Scene::r, R_ADDSKY, RenderEngine::re, RE_engine_get_result(), RE_GetRenderLayer(), RE_GetViewPlane(), RE_SetActiveRenderView(), RenderEngine::resolution_x, RenderEngine::resolution_y, scene, DRWContextState::scene, size(), RenderEngine::type, and RenderResult::views.
Referenced by engine_render_view_layer().
|
static |
Definition at line 1826 of file draw_manager.c.
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().
Must run after all instance datas have been added.
Definition at line 2295 of file draw_manager.c.
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(), eevee_lightbake_cache_create(), EEVEE_motion_blur_cache_finish(), EEVEE_render_draw(), GPENCIL_render_to_image(), blender::eevee::Instance::render_sync(), and workbench_render().
void DRW_render_object_iter | ( | void * | vedata, |
RenderEngine * | engine, | ||
struct Depsgraph * | depsgraph, | ||
void(*)(void *vedata, Object *ob, RenderEngine *engine, struct Depsgraph *depsgraph) | callback | ||
) |
Definition at line 2008 of file draw_manager.c.
References callback, data_, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN, DEG_OBJECT_ITER_FOR_RENDER_ENGINE_END, depsgraph, drw_batch_cache_generate_requested(), drw_batch_cache_validate(), DRW_context_state_get(), DRW_curves_init(), 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, NULL, DRWManager::ob_handle, View3D::object_type_exclude_viewport, Object::type, DRWContextState::v3d, and DRWManager::vmempool.
Referenced by eevee_lightbake_cache_create(), eevee_render_to_image(), GPENCIL_render_to_image(), blender::eevee::Instance::render_sync(), blender::eevee::VelocityModule::step_sync(), and workbench_render().
void DRW_render_set_time | ( | struct RenderEngine * | engine, |
struct Depsgraph * | depsgraph, | ||
int | frame, | ||
float | subframe | ||
) |
Definition at line 2303 of file draw_manager.c.
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.
Referenced by eevee_render_to_image().
void DRW_render_to_image | ( | RenderEngine * | engine, |
struct Depsgraph * | depsgraph | ||
) |
Definition at line 1916 of file draw_manager.c.
References RenderData::alphamode, BLI_rcti_init(), BLI_rcti_is_empty(), DRWManager::buffer_finish_called, data, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWManager::draw_background, DRWManager::draw_ctx, RenderEngineType::draw_engine, draw_render_result_ensure_pass_cb(), DRW_cache_free_old_subdiv(), 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, 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, Render::name, NULL, OB_MODE_OBJECT, DRWManager::options, Scene::r, R_ADDSKY, RenderEngine::re, RE_engine_begin_result(), RE_engine_end_result(), RE_engine_get_result(), RE_engine_update_render_passes(), RE_GetViewPlane(), RE_SetActiveRenderView(), DrawEngineType::render_to_image, RenderEngine::resolution_x, RenderEngine::resolution_y, scene, DRWContextState::scene, size(), DrawEngineType::store_metadata, RenderEngine::type, DRWManager::view_data_active, RenderResult::views, and DRWManager::vmempool.
void DRW_render_viewport_size_set | ( | const int | size[2] | ) |
Definition at line 280 of file draw_manager.c.
References DST, DRWManager::inv_size, size(), and DRWManager::size.
Referenced by eevee_lightbake_cache_create(), EEVEE_render_init(), and eevee_render_to_image().
Whether we should render the background
Definition at line 2881 of file draw_manager.c.
References DRWManager::draw_background, DST, and DRWManager::options.
Referenced by eevee_draw_scene(), eevee_engine_init(), EEVEE_render_init(), and OVERLAY_background_cache_init().
Should draw support elements Objects center, selection outline, probe data, ...
Definition at line 2874 of file draw_manager.c.
References DRWManager::draw_ctx, DRW_state_is_scene_render(), DST, View3D::flag2, NULL, DRWContextState::v3d, and V3D_HIDE_OVERLAYS.
Referenced by EEVEE_lightprobes_cache_init(), and EEVEE_temporal_sampling_init().
Definition at line 2832 of file draw_manager.c.
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().
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 2816 of file draw_manager.c.
References DRWManager::default_framebuffer, DRW_state_is_depth(), DRW_state_is_select(), DST, DRWManager::is_image_render, NULL, 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_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_curves_draw(), OVERLAY_sculpt_draw(), OVERLAY_wireframe_cache_init(), OVERLAY_xray_depth_copy(), OVERLAY_xray_depth_infront_copy(), and OVERLAY_xray_fade_draw().
Whether we are rendering for an image
Definition at line 2837 of file draw_manager.c.
References DST, DRWManager::is_image_render, and DRWManager::options.
Referenced by basic_cache_populate(), drw_deferred_shader_add(), DRW_object_is_visible_psys_in_active_context(), DRW_shader_from_material(), DRW_shader_from_world(), EEVEE_draw_effects(), eevee_draw_scene(), EEVEE_lightprobes_cache_finish(), EEVEE_lightprobes_refresh_planar(), eevee_lookdev_apply_taa(), EEVEE_materials_cache_populate(), EEVEE_materials_init(), EEVEE_renderpasses_init(), EEVEE_renderpasses_postprocess(), EEVEE_temporal_sampling_draw(), EEVEE_temporal_sampling_init(), EEVEE_temporal_sampling_sample_count_get(), EEVEE_volumes_init(), GPENCIL_cache_populate(), blender::eevee::gpencil_stroke_sync(), lightbake_render_scene_reflected(), OVERLAY_camera_cache_populate(), OVERLAY_facing_cache_populate(), OVERLAY_fade_cache_populate(), OVERLAY_mode_transfer_cache_populate(), OVERLAY_wireframe_cache_populate(), workbench_antialiasing_draw_pass(), workbench_antialiasing_sample_count_get(), workbench_color_type_get(), and workbench_update_world_ubo().
Definition at line 2827 of file draw_manager.c.
References DST, DRWManager::is_material_select, and DRWManager::options.
Referenced by basic_cache_init().
Is the user navigating the region.
Definition at line 2862 of file draw_manager.c.
References DRWManager::draw_ctx, DST, RegionView3D::rflag, DRWContextState::rv3d, RV3D_NAVIGATING, and RV3D_PAINTING.
Referenced by EEVEE_temporal_sampling_init(), and workbench_private_data_init().
Whether we are rendering simple opengl render
Definition at line 2848 of file draw_manager.c.
References DST, DRWManager::is_image_render, DRWManager::is_scene_render, and DRWManager::options.
Referenced by EEVEE_lightprobes_cache_finish(), EEVEE_lookdev_init(), EEVEE_renderpasses_draw(), EEVEE_temporal_sampling_init(), OVERLAY_background_cache_init(), and workbench_draw_scene().
Definition at line 2853 of file draw_manager.c.
References CTX_wm_manager(), DRWManager::draw_ctx, DST, ED_screen_animation_playing(), DRWContextState::evil_C, and NULL.
Referenced by EEVEE_temporal_sampling_draw(), and workbench_private_data_init().
Whether we are rendering only the render engine, or if we should also render the mode engines.
Definition at line 2842 of file draw_manager.c.
References BLI_assert, DST, DRWManager::is_image_render, DRWManager::is_scene_render, and DRWManager::options.
Referenced by DRW_object_visibility_in_active_context(), DRW_state_draw_support(), EEVEE_cryptomatte_renderpasses_init(), EEVEE_materials_cache_populate(), EEVEE_motion_blur_cache_populate(), EEVEE_motion_blur_curves_cache_populate(), EEVEE_motion_blur_hair_cache_populate(), EEVEE_motion_blur_init(), eevee_motion_blur_sync_camera(), EEVEE_temporal_sampling_init(), and workbench_cache_populate().
For when engines need to know if this is drawing for selection or not.
Definition at line 2822 of file draw_manager.c.
References DST, DRWManager::is_select, and DRWManager::options.
Referenced by armature_context_setup(), basic_cache_init(), camera_stereoscopy_extra(), camera_view3d_reconstruction(), draw_armature_edit(), 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().
|
static |
Definition at line 111 of file draw_manager.c.
Referenced by DRW_custom_pipeline(), 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().
Should text draw in this mode?
Definition at line 2868 of file draw_manager.c.
References DRWManager::draw_text, DST, DRWManager::is_depth, DRWManager::is_scene_render, DRWManager::is_select, and DRWManager::options.
Referenced by draw_armature_edit(), draw_armature_pose(), OVERLAY_edit_mesh_cache_populate(), OVERLAY_extra_cache_populate(), and OVERLAY_gpencil_cache_populate().
Definition at line 161 of file draw_manager.c.
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, NULL, DRWManager::task_graph, and void.
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().
Definition at line 154 of file draw_manager.c.
References BLI_assert, BLI_gset_ptr_new(), BLI_task_graph_create(), DRWManager::delayed_extraction, DST, NULL, 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().
struct DRWTextStore* DRW_text_cache_ensure | ( | void | ) |
Definition at line 1551 of file draw_manager.c.
References BLI_assert, DRW_text_cache_create(), DST, NULL, and DRWManager::text_store_p.
Referenced by camera_view3d_reconstruction(), draw_bone_name(), DRW_text_edit_mesh_measure_stats(), motion_path_cache(), OVERLAY_edit_uv_cache_init(), overlay_gpencil_draw_stroke_color_name(), and OVERLAY_object_name().
void** DRW_view_layer_engine_data_ensure | ( | DrawEngineType * | engine_type, |
void(*)(void *storage) | callback | ||
) |
Definition at line 787 of file draw_manager.c.
References callback, DRWManager::draw_ctx, DRW_view_layer_engine_data_ensure_ex(), DST, and DRWContextState::view_layer.
Referenced by EEVEE_view_layer_data_ensure(), and GPENCIL_view_layer_data_ensure().
void** DRW_view_layer_engine_data_ensure_ex | ( | ViewLayer * | view_layer, |
DrawEngineType * | engine_type, | ||
void(*)(void *storage) | callback | ||
) |
Definition at line 767 of file draw_manager.c.
References BLI_addtail(), callback, ViewLayer::drawdata, ViewLayerEngineData::engine_type, ListBase::first, ViewLayerEngineData::free, MEM_callocN, ViewLayerEngineData::next, and ViewLayerEngineData::storage.
Referenced by DRW_view_layer_engine_data_ensure(), EEVEE_view_layer_data_ensure_ex(), and workbench_view_layer_data_ensure_ex().
void* DRW_view_layer_engine_data_get | ( | DrawEngineType * | engine_type | ) |
Definition at line 757 of file draw_manager.c.
References DRWManager::draw_ctx, ViewLayer::drawdata, DST, LISTBASE_FOREACH, NULL, and DRWContextState::view_layer.
Referenced by EEVEE_view_layer_data_get().
Definition at line 367 of file draw_manager.c.
References 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, and DRWData::views.
Referenced by drw_manager_init(), and drw_viewport_data_ensure().
|
static |
Definition at line 474 of file draw_manager.c.
References DRW_viewport_data_create(), GPU_viewport_data_get(), and NULL.
Referenced by drw_manager_init(), DRW_notify_view_update(), and drw_notify_view_update_offscreen().
Definition at line 440 of file draw_manager.c.
References BLI_memblock_destroy(), DRWData::callbuffers, DRWData::commands, DRWData::commands_small, DRWData::cullstates, DRWData::curves_ubos, draw_texture_release(), DRW_curves_ubos_pool_free(), 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, NULL, 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, and DRWData::volume_grids_ubos.
Referenced by drw_manager_exit(), and GPU_viewport_free().
Definition at line 418 of file draw_manager.c.
References BLI_memblock_clear(), DRWData::callbuffers, DRWData::commands, DRWData::commands_small, DRWData::cullstates, 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, NULL, 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 | ( | void | ) |
Definition at line 633 of file draw_manager.c.
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::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::draw_scene(), DRW_draw_callbacks_post_scene(), DRW_draw_render_loop_2d_ex(), eevee_draw_scene(), EEVEE_render_init(), EEVEE_renderpasses_draw(), 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_antialiasing_draw_pass(), workbench_cache_finish(), workbench_dof_draw_pass(), workbench_draw_sample(), workbench_render(), workbench_render_framebuffers_init(), workbench_render_result_z(), and workbench_volume_draw_pass().
Definition at line 293 of file draw_manager.c.
References DST, and DRWManager::inv_size.
Referenced by basic_cache_init(), EEVEE_motion_blur_cache_init(), GPENCIL_antialiasing_init(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_wave(), workbench_antialiasing_cache_init(), workbench_dof_cache_init(), and workbench_update_world_ubo().
Definition at line 303 of file draw_manager.c.
References DST, and DRWManager::pixsize.
Referenced by DRW_globals_update().
Definition at line 643 of file draw_manager.c.
References DST, GPU_viewport_tag_update(), and DRWManager::viewport.
Referenced by blender::eevee::Instance::draw_viewport(), EEVEE_draw_effects(), EEVEE_screen_raytrace_init(), EEVEE_temporal_sampling_draw(), EEVEE_volumes_init(), OVERLAY_mode_transfer_cache_finish(), and workbench_antialiasing_draw_pass().
Definition at line 298 of file draw_manager.c.
References DST, and DRWManager::screenvecs.
Referenced by DRW_globals_update(), and EEVEE_lightprobes_cache_init().
Definition at line 288 of file draw_manager.c.
References DST, and DRWManager::size.
Referenced by basic_cache_init(), dof_dilate_tiles_pass_init(), dof_flatten_tiles_pass_init(), dof_gather_pass_init(), dof_reduce_pass_init(), dof_setup_pass_init(), downsample_planar(), DRW_globals_update(), DRW_texture_ensure_fullscreen_2d(), DRW_texture_pool_query_fullscreen(), EEVEE_bloom_init(), eevee_cryptomatte_download_buffer(), EEVEE_cryptomatte_output_init(), eevee_cryptomatte_postprocess_weights(), EEVEE_cryptomatte_render_result(), EEVEE_depth_of_field_init(), EEVEE_effects_init(), EEVEE_lookdev_init(), EEVEE_motion_blur_cache_init(), EEVEE_motion_blur_init(), EEVEE_occlusion_compute(), EEVEE_occlusion_init(), EEVEE_render_init(), EEVEE_screen_raytrace_init(), EEVEE_subsurface_draw_init(), EEVEE_temporal_sampling_matrices_calc(), EEVEE_volumes_init(), 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(), IMAGE_InstanceData::update_gpu_texture_allocations(), workbench_antialiasing_cache_init(), workbench_antialiasing_setup(), workbench_dof_engine_init(), workbench_render_framebuffers_init(), and workbench_update_world_ubo().
DefaultTextureList* DRW_viewport_texture_list_get | ( | void | ) |
Definition at line 638 of file draw_manager.c.
References DRW_view_data_default_texture_list_get(), DST, and DRWManager::view_data_active.
Referenced by blender::eevee::Film::accumulate(), dof_recombine_pass_init(), dof_setup_pass_init(), EEVEE_cryptomatte_output_init(), eevee_draw_scene(), EEVEE_effects_draw_init(), EEVEE_effects_init(), eevee_engine_init(), EEVEE_material_output_init(), EEVEE_mist_output_init(), EEVEE_motion_blur_cache_init(), EEVEE_occlusion_cache_init(), EEVEE_occlusion_output_accumulate(), EEVEE_occlusion_output_init(), EEVEE_render_draw(), EEVEE_render_init(), EEVEE_renderpasses_cache_finish(), EEVEE_shadow_output_init(), EEVEE_subsurface_add_pass(), EEVEE_subsurface_draw_init(), EEVEE_subsurface_output_init(), EEVEE_temporal_sampling_cache_init(), EEVEE_velocity_resolve(), EEVEE_volumes_resolve(), GPENCIL_engine_init(), OVERLAY_antialiasing_cache_finish(), OVERLAY_antialiasing_cache_init(), OVERLAY_antialiasing_init(), OVERLAY_background_cache_init(), OVERLAY_cache_finish(), OVERLAY_edit_curves_cache_init(), 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_antialiasing_cache_init(), workbench_antialiasing_draw_pass(), workbench_cache_finish(), workbench_cavity_cache_init(), workbench_dof_cache_init(), workbench_opaque_cache_init(), workbench_opaque_engine_init(), workbench_outline_cache_init(), workbench_render_framebuffers_init(), workbench_transparent_engine_init(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
Definition at line 662 of file draw_manager.c.
References DupliKey::ob, and DupliKey::ob_data.
Referenced by drw_duplidata_load().
Definition at line 656 of file draw_manager.c.
References BLI_ghashutil_ptrhash(), DupliKey::ob, and DupliKey::ob_data.
Referenced by drw_duplidata_load().
Definition at line 716 of file draw_manager.c.
References Object_Runtime::bb, BKE_object_replace_data_on_shallow_copy(), Object::data, drw_batch_cache_generate_requested(), MEM_freeN, MEM_SAFE_FREE, NULL, DupliKey::ob, DupliKey::ob_data, and Object::runtime.
Referenced by drw_duplidata_free().
Definition at line 707 of file draw_manager.c.
References g_registered_engines, MEM_freeN, and MEM_SAFE_FREE.
Referenced by drw_duplidata_free().
Definition at line 826 of file draw_manager.c.
References GS, id, id_type_can_have_drawdata(), ID::name, and NULL.
Referenced by DRW_drawdata_ensure(), and DRW_drawdatalist_from_id().
|
static |
Definition at line 810 of file draw_manager.c.
Referenced by id_can_have_drawdata().
|
static |
Definition at line 1146 of file draw_manager.c.
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 = {NULL} |
Render State: No persistent data between draw calls.
Definition at line 104 of file draw_manager.c.
Referenced by 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_debug_draw_lines(), drw_debug_draw_spheres(), DRW_debug_line_v3v3(), DRW_debug_sphere(), drw_deferred_shader_add(), drw_deferred_shader_compilation_exec(), DRW_draw_callbacks_post_scene(), DRW_draw_callbacks_pre_scene(), DRW_draw_depth_loop(), 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_fluid_ensure_flags(), DRW_fluid_ensure_range_field(), DRW_notify_view_update(), drw_notify_view_update_offscreen(), DRW_object_get_dupli(), DRW_object_get_dupli_parent(), DRW_object_is_renderable(), DRW_object_resource_id_get(), DRW_opengl_context_activate(), DRW_opengl_context_create(), DRW_opengl_context_destroy(), DRW_opengl_context_disable_ex(), DRW_opengl_context_enable(), DRW_opengl_context_enable_ex(), DRW_opengl_context_release(), DRW_opengl_render_context_disable(), DRW_opengl_render_context_enable(), DRW_pass_create(), DRW_pass_sort_shgroup_z(), 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_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_range(), drw_shgroup_create_ex(), DRW_shgroup_create_sub(), 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_opengl_render(), DRW_state_is_playback(), DRW_state_is_scene_render(), DRW_state_is_select(), DRW_state_lock(), DRW_state_reset_ex(), drw_state_set(), DRW_state_show_text(), drw_state_validate(), DRW_stats_draw(), drw_task_graph_deinit(), drw_task_graph_init(), DRW_text_cache_ensure(), DRW_texture_pool_query_2d(), 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_pixelsize_get(), DRW_viewport_request_redraw(), DRW_viewport_screenvecs_get(), DRW_viewport_size_get(), DRW_viewport_texture_list_get(), drw_volume_object_grids_init(), drw_volume_object_mesh_init(), and use_drw_engine().
ListBase engines |
Definition at line 107 of file draw_manager.c.
struct { ... } g_registered_engines |
|
static |
Referenced by draw_select_framebuffer_depth_only_setup(), DRW_draw_select_loop(), and DRW_engines_free().
Definition at line 108 of file draw_manager.c.
Referenced by _bli_array_permute(), _glewSearchExtension(), add_struct(), addedgetoscanlist(), Freestyle::BlenderFileLoader::addTriangle(), alter_co(), an_stringdec(), angle_poly_v3(), ANIM_add_driver_with_target(), apply_heights_callback(), applyLength(), arrow_draw_geom(), asset_bundle_install_exec(), bake_offset_towards_center(), blender::gpu::MTLFrameBuffer::bake_render_pass_descriptor(), bezier_handle_calc_length_v3(), BKE_blendfile_link_append_context_item_add(), BKE_blendfile_link_append_context_library_add(), 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_gpencil_stroke_shrink(), BKE_gpencil_stroke_stretch(), 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_paint_toolslots_len_ensure(), 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_free_space(), BLI_dynstr_appendf(), BLI_dynstr_nappend(), BLI_dynstr_vappendf(), BLI_exists(), BLI_file_unzstd_to_mem_at_pos(), BLI_file_zstd_from_mem_at_pos(), BLI_filename_make_safe_ex(), 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_frame_get(), BLI_path_frame_strip(), BLI_path_join(), BLI_path_slash_ensure(), 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_utf8_as_unicode(), 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_str_utf8_size(), BLI_str_utf8_size_safe(), BLI_strcasestr(), BLI_strdupn(), BLI_string_find_split_words(), BLI_string_flip_side_name(), BLI_string_split_prefix(), BLI_string_split_suffix(), BLI_strlen_utf8_ex(), BLI_strncasecmp(), BLI_strncasestr(), BLI_strncpy_wchar_as_utf8(), BLI_strnlen(), BLI_strnlen_utf8_ex(), BLI_system_thread_count(), BLI_uniquename_cb(), BLI_wstrlen_utf8(), bm_bridge_best_rotation(), BM_disk_dissolve(), bm_edge_info_average_length(), BM_edge_is_any_face_len_test(), bm_edge_seg_isect(), 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_uuidwalk_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(), BPy_Wrap_GetKeys(), btAdjustInternalEdgeContacts(), btStrLen(), buffer_alloc(), buffer_realloc(), Buffer_to_list(), Buffer_to_list_recursive(), C_BVHTree_FromPolygons(), calc_bevfac_spline_mapping(), calchandle_curvemap(), calchandleNurb_intern(), blender::bke::curves::bezier::calculate_point_handles(), btTransformUtil::calculateDiffAxisAngle(), btTransformUtil::calculateDiffAxisAngleQuaternion(), camera_distance(), camera_z_depth(), check_destination(), 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(), compute_face_normal(), Mesh::Triangle::compute_normal(), console_indent_exec(), console_insert_exec(), console_insert_invoke(), console_line_insert(), console_line_verify_length(), console_unindent_exec(), copy_single_file(), blender::compositor::tests::create_buffer(), blender::compositor::tests::create_input_buffer(), Freestyle::createStroke(), curve_to_displist(), deformStroke(), LightManager::device_update_points(), differential_make_compact(), direction_to_equirectangular_range(), DNA_elem_size_nr(), do_smear_brush_task_cb_exec(), dquat_to_mat4(), draw_distortion(), draw_frustum_bound_sphere_calc(), drw_shgroup_bone_envelope(), ED_armature_ebone_from_mat3(), ed_editnurb_extrude_flag(), ED_gpencil_stroke_point_is_inside(), ED_info_statusbar_string_ex(), ED_keylist_draw_keylist_visible_key_len(), ED_keylist_draw_list_visible_key_len(), ED_mask_feather_find_nearest(), ed_mesh_pick_vert__mapFunc(), ED_scene_grid_scale(), ED_undo_editmode_bases_from_view_layer(), ED_undo_editmode_objects_from_view_layer(), ED_view3d_grid_steps(), ED_view3d_grid_view_scale(), edbm_bevel_calc_initial_length(), edbm_connect_vert_pair(), edbm_knife_cut_exec(), editstr_insert_at_cursor(), eff_calc_visibility(), BezierSpline::ensure_auto_handles(), ensure_digits(), evaluate_curve_type_object(), evaluate_surface_object(), export_hair_curves(), exr_rgba_channelname(), blender::draw::extract_lines_loose_subbuffer(), blender::draw::extract_lines_with_lines_loose_finish_subdiv(), blender::draw::extract_select_idx_init_impl(), blender::draw::extract_tris_finish(), blender::draw::extract_tris_init_subdiv(), blender::draw::extract_tris_single_mat_finish(), face_map_move_exec(), fcurve_path_rename(), blender::compositor::FHT(), file_draw_string_multiline(), file_seek(), find_internal_spring_target_vertex(), flatten_string(), flatten_string_append(), flatten_string_strlen(), blender::gpu::MTLCircularBuffer::flush(), blender::nodes::node_fn_slice_string_cc::fn_node_slice_string_build_multi_function(), followpath_path_animate_exec(), fsmenu_entry_generate_name(), fsmenu_read_bookmarks(), gearGL(), get_default_rna_value(), get_stats_string(), get_suggest_prefix(), GHOST_SystemWin32::getClipboard(), GHOST_SystemX11::getClipboard_xcout(), GHOST_SystemCocoa::GHOST_SystemCocoa(), GHOST_WindowX11::GHOST_WindowX11(), gizmo_preselect_elem_test_select(), gizmo_refresh_from_matrix(), gpencil_duplicate_points(), GPU_debug_get_groups_names(), GPU_indexbuf_update_sub(), GPU_shader_uniform_2fv_array(), GPU_shader_uniform_4fv_array(), GPU_shader_uniform_vector(), GPU_shader_uniform_vector_int(), GPU_unpack_row_length_set(), 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_float_default(), idprop_ui_data_update_int_default(), imb_exr_insert_view_name(), imb_exr_split_channel_name(), IMB_indexer_get_frame_index(), IMB_metadata_get_field(), IMB_thumb_load_font_get_hash(), init_track_for_stabilization(), blender::draw::init_vbo_for_attribute(), btDefaultSerializer::initDNA(), insert_text_exec(), is_hidden_dot_filename(), is_track_clean(), join_dirfile_alloc(), light_distribution_sample(), light_spread_clamp_area_light(), load_tex_cursor_task_cb(), load_tex_task_cb_ex(), M_Geometry_area_tri(), M_Geometry_box_pack_2d(), M_Interpolate_poly_3d_calc(), make_memhead_header(), make_structDNA(), map_to_sphere(), map_to_tube(), 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_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_callocN(), MEM_lockfree_freeN(), MEM_lockfree_malloc_arrayN(), MEM_lockfree_mallocN(), MEM_lockfree_mallocN_aligned(), MEM_lockfree_reallocN_id(), MEM_lockfree_recallocN_id(), mesh_add_edges(), mesh_add_loops(), mesh_add_polys(), mesh_add_verts(), mesh_remove_edges(), mesh_remove_loops(), mesh_remove_polys(), mesh_remove_verts(), mesh_uv_reset_array(), meshdeform_ray_tree_intersect(), metadata_draw_imbuf(), metadata_get_field(), mm2a_mix_tail(), MOD_solidify_nonmanifold_modifyMesh(), motion_path_cache(), mywrite(), new_folder_path(), blender::draw::SwapChain< T, len >::next(), nlaedit_split_strip_actclip(), noise_table(), normalize(), blender::math::normalize(), normalize_m4(), normalize_m4_m4(), normalize_qt(), NormalizeSafe(), object_volume_density(), ObtainCacheParticleData(), oldreadcolrs(), operator_search_update_fn(), opj_seek_from_buffer(), outliner_buttons(), output_iris(), p_chart_boundaries(), p_chart_minimum_area_angle(), p_chart_symmetry_pins(), paint_stroke_line_constrain(), parse_int_range_relative_clamp_n(), passtype_from_name(), paste_selection(), path_ensure_slash(), point_calculate_handle(), poly_avg(), poly_norm(), pose_slide_apply_props(), pose_solve_ik_chain(), poselib_preview_handle_search(), precise_angle(), 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_filename(), ptcache_filename_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(), 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(), 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::io::obj::read_next_line(), read_pipe(), readtab(), replace_bbone_len_scale_rnapath(), 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_function_call_direct_va(), rna_function_parameter_parse(), 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(), SCULPT_brush_strength_factor(), sculpt_cloth_filter_modal(), sculpt_color_filter_modal(), sculpt_mask_by_color_contiguous_floodfill_cb(), sculpt_mask_by_color_delta_get(), sculpt_mask_expand_modal(), sculpt_mesh_filter_modal(), sculpt_pose_grow_pose_factor(), 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(), GHOST_WindowCocoa::setTitle(), single_scattering(), skin_choose_quad_bridge_order(), slide_dist(), 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(), string_dup(), string_endswith(), string_startswith(), blender::io::stl::StringBuffer::StringBuffer(), subsurface_disk(), svm_node_camera(), svm_node_vector_rotate(), svm_node_wireframe(), svm_vector_math(), svm_wave(), blender::draw::SwapChain< T, len >::swap(), system_physical_ram(), TEST(), test_endian_zbuf(), text_autocomplete_build(), text_check_format_len(), text_convert_whitespace_exec(), text_cursor_set_to_pos_wrapped(), text_format_fill(), text_format_fill_ascii(), text_from_buf(), text_insert_invoke(), texttool_docs_show(), texttool_suggest_add(), blender::gpu::MTLStateManager::texture_unpack_row_length_set(), blender::gpu::GLStateManager::texture_unpack_row_length_set(), textview_draw_string(), textview_wrap_offsets(), tracking_dopesheet_channels_segments_calc(), transform_decompose(), tri_to_quat(), triangle_area(), triangle_light_pdf(), trim(), txt_from_buf_for_undo(), txt_select_prefix(), txtfmt_ini_find_bool(), txtfmt_ini_find_keyword(), txtfmt_ini_find_reserved(), txtfmt_lua_find_bool(), txtfmt_lua_find_keyword(), txtfmt_lua_find_specialvar(), txtfmt_lua_format_line(), txtfmt_osl_find_builtinfunc(), txtfmt_osl_find_reserved(), txtfmt_osl_find_specialvar(), txtfmt_osl_format_line(), txtfmt_pov_find_bool(), txtfmt_pov_find_keyword(), txtfmt_pov_find_reserved_builtins(), txtfmt_pov_find_reserved_keywords(), txtfmt_pov_find_specialvar(), txtfmt_pov_format_line(), txtfmt_pov_ini_format_line(), txtfmt_py_find_bool(), txtfmt_py_find_builtinfunc(), txtfmt_py_find_specialvar(), txtfmt_py_format_line(), 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_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(), uilist_filter_items_default(), uiTemplateImageInfo(), uiTemplateMovieclipInformation(), undo_editmode_objects_from_view_layer_prepare(), 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(), btSoftBody::updateNormals(), util_murmur_hash3(), uv_poly_copy_aspect(), uvedit_uv_straighten_elements(), Freestyle::V2Normalize(), Freestyle::V2Scale(), validate_array_length(), vec_to_quat(), vertbuf_alloc(), vertbuf_device_alloc(), vertbuf_update_data(), wireframe(), wm_autosave_location(), wm_file_write(), WM_gesture_lasso_path_to_array(), wm_gizmomap_select_array_ensure_len_alloc(), wm_read_exotic(), Camera::world_to_raster_size(), writedata(), and writetab().