Blender
V3.3
|
#include "BKE_mesh_types.h"
Go to the source code of this file.
For Direct Data Access | |
enum | { VFLAG_VERT_ACTIVE = 1 << 0 , VFLAG_VERT_SELECTED = 1 << 1 , VFLAG_VERT_SELECTED_BEZT_HANDLE = 1 << 2 , VFLAG_EDGE_ACTIVE = 1 << 3 , VFLAG_EDGE_SELECTED = 1 << 4 , VFLAG_EDGE_SEAM = 1 << 5 , VFLAG_EDGE_SHARP = 1 << 6 , VFLAG_EDGE_FREESTYLE = 1 << 7 , VFLAG_VERT_GPENCIL_BEZT_HANDLE = 1 << 30 } |
enum | { VFLAG_FACE_ACTIVE = 1 << 0 , VFLAG_FACE_SELECTED = 1 << 1 , VFLAG_FACE_FREESTYLE = 1 << 2 , VFLAG_VERT_UV_SELECT = 1 << 3 , VFLAG_VERT_UV_PINNED = 1 << 4 , VFLAG_EDGE_UV_SELECT = 1 << 5 , VFLAG_FACE_UV_ACTIVE = 1 << 6 , VFLAG_FACE_UV_SELECT = 1 << 7 } |
struct GPUVertBuf * | DRW_mesh_batch_cache_pos_vertbuf_get (struct Mesh *me) |
struct GPUVertBuf * | DRW_mball_batch_cache_pos_vertbuf_get (struct Object *ob) |
int | DRW_mesh_material_count_get (const struct Object *object, const struct Mesh *me) |
anonymous enum |
Definition at line 319 of file draw_cache_impl.h.
anonymous enum |
Enumerator | |
---|---|
VFLAG_FACE_ACTIVE | |
VFLAG_FACE_SELECTED | |
VFLAG_FACE_FREESTYLE | |
VFLAG_VERT_UV_SELECT | |
VFLAG_VERT_UV_PINNED | |
VFLAG_EDGE_UV_SELECT | |
VFLAG_FACE_UV_ACTIVE | |
VFLAG_FACE_UV_SELECT |
Definition at line 333 of file draw_cache_impl.h.
Definition at line 3397 of file draw_cache.c.
References Object::data, DRW_curves_batch_cache_free_old(), DRW_mesh_batch_cache_free_old(), OB_CURVES, OB_MESH, and Object::type.
Referenced by DRW_cache_free_old_batches().
struct GPUBatch** DRW_cache_pointcloud_surface_shaded_get | ( | struct Object * | ob, |
struct GPUMaterial ** | gpumat_array, | ||
uint | gpumat_array_len | ||
) |
Referenced by DRW_cache_object_surface_material_get().
Definition at line 801 of file draw_cache_impl_curve.cc.
References BLI_assert, CU_DATATYPE_NORMAL, CU_DATATYPE_OVERLAY, CU_DATATYPE_WIRE, curve_batch_cache_get(), Object_Runtime::curve_cache, curve_create_curves_lines(), curve_create_curves_pos(), curve_create_edit_curves_nor(), curve_create_edit_data_and_handles(), curve_render_data_create(), curve_render_data_free(), Object::data, DRW_ADD_FLAG_FROM_IBO_REQUEST, DRW_ADD_FLAG_FROM_VBO_REQUEST, DRW_batch_requested(), DRW_ibo_request(), DRW_ibo_requested(), DRW_vbo_request(), DRW_vbo_requested(), ELEM, GPU_PRIM_LINE_STRIP, GPU_PRIM_LINES, GPU_PRIM_POINTS, GPUBatch, Object::id, ID::name, OB_CURVES_LEGACY, OB_FONT, OB_SURF, Object::runtime, scene, and Object::type.
Referenced by drw_batch_cache_generate_requested(), and drw_batch_cache_generate_requested_evaluated_mesh_or_curve().
Definition at line 396 of file draw_cache_impl_curve.cc.
References CurveBatchCache::batch, Curve::batch_cache, BKE_CURVE_BATCH_DIRTY_ALL, BKE_CURVE_BATCH_DIRTY_SELECT, BLI_assert, CurveBatchCache::data, CurveBatchCache::edit, CurveBatchCache::edit_edges, CurveBatchCache::edit_verts, GPU_BATCH_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, if(), and CurveBatchCache::is_dirty.
Referenced by DRW_engines_register().
Definition at line 442 of file draw_cache_impl_curve.cc.
References Curve::batch_cache, curve_batch_cache_clear(), and MEM_SAFE_FREE.
Referenced by DRW_engines_register().
Definition at line 778 of file draw_cache_impl_curve.cc.
References CurveBatchCache::batch, curve_batch_cache_get(), DRW_batch_request(), and CurveBatchCache::edit_edges.
Referenced by DRW_cache_curve_edge_overlay_get().
Definition at line 784 of file draw_cache_impl_curve.cc.
References CurveBatchCache::batch, curve_batch_cache_get(), DRW_batch_request(), and CurveBatchCache::edit_verts.
Referenced by DRW_cache_curve_vert_overlay_get().
Definition at line 772 of file draw_cache_impl_curve.cc.
References CurveBatchCache::batch, curve_batch_cache_get(), DRW_batch_request(), and CurveBatchCache::edit_normals.
Referenced by DRW_cache_curve_edge_normal_get().
Definition at line 766 of file draw_cache_impl_curve.cc.
References CurveBatchCache::batch, curve_batch_cache_get(), CurveBatchCache::curves, and DRW_batch_request().
Referenced by DRW_cache_curve_edge_wire_get(), DRW_cache_surf_edge_wire_get(), and DRW_cache_text_edge_wire_get().
Definition at line 383 of file draw_cache_impl_curve.cc.
References curve_batch_cache_clear(), curve_batch_cache_init(), and curve_batch_cache_valid().
Referenced by drw_batch_cache_validate(), and drw_shgroup_custom_bone_curve().
int DRW_curve_material_count_get | ( | struct Curve * | cu | ) |
Definition at line 790 of file draw_cache_impl_curve.cc.
References max_ii(), and Curve::totcol.
Referenced by DRW_cache_object_material_count_get().
Definition at line 687 of file draw_cache_impl_curves.cc.
References curves, curves_batch_cache_ensure_procedural_pos(), curves_batch_cache_get(), CurvesBatchCache::curves_cache, Object::data, DRW_batch_requested(), DRW_vbo_request(), DRW_vbo_requested(), CurvesBatchCache::edit_points, GPU_PRIM_POINTS, and CurvesEvalCache::proc_point_buf.
Referenced by drw_batch_cache_generate_requested().
Definition at line 156 of file draw_cache_impl_curves.cc.
References BKE_CURVES_BATCH_DIRTY_ALL, BLI_assert_unreachable, curves, and CurvesBatchCache::is_dirty.
Referenced by DRW_engines_register().
Definition at line 171 of file draw_cache_impl_curves.cc.
References BLI_mutex_end(), curves, curves_batch_cache_clear(), MEM_SAFE_FREE, and CurvesBatchCache::render_mutex.
Referenced by DRW_engines_register().
Definition at line 179 of file draw_cache_impl_curves.cc.
References CurvesEvalFinalCache::attr_used, CurvesEvalFinalCache::attr_used_over_time, curves, CurvesBatchCache::curves_cache, curves_discard_attributes(), drw_attributes_clear(), drw_attributes_overlap(), CurvesEvalCache::final, CurvesEvalFinalCache::last_attr_matching_time, and MAX_HAIR_SUBDIV.
Referenced by DRW_batch_cache_free_old().
Definition at line 617 of file draw_cache_impl_curves.cc.
References curves, curves_batch_cache_get(), DRW_batch_request(), and CurvesBatchCache::edit_points.
Referenced by overlay_edit_curves_add_ob_to_pass().
Definition at line 142 of file draw_cache_impl_curves.cc.
References curves, curves_batch_cache_clear(), curves_batch_cache_init(), and curves_batch_cache_valid().
Referenced by curves_batch_cache_get(), and drw_batch_cache_validate().
int DRW_curves_material_count_get | ( | struct Curves * | curves | ) |
Definition at line 612 of file draw_cache_impl_curves.cc.
References curves, and max_ii().
Referenced by DRW_cache_object_material_count_get().
struct GPUTexture** DRW_curves_texture_for_evaluated_attribute | ( | struct Curves * | curves, |
const char * | name, | ||
bool * | r_is_point_domain | ||
) |
Provide GPU access to a specific evaluated attribute on curves.
Definition at line 651 of file draw_cache_impl_curves.cc.
References ATTR_DOMAIN_CURVE, ATTR_DOMAIN_POINT, CurvesEvalFinalCache::attr_used, DRW_AttributeRequest::attribute_name, CurvesEvalFinalCache::attributes_tex, BLI_assert_unreachable, curves, curves_batch_cache_get(), CurvesBatchCache::curves_cache, DRW_AttributeRequest::domain, DRW_context_state_get(), CurvesEvalCache::final, RenderData::hair_subdiv, DRW_Attributes::num_requests, CurvesEvalCache::proc_attributes_tex, Scene::r, request_attribute(), DRW_Attributes::requests, scene, DRWContextState::scene, and STREQ.
Referenced by OVERLAY_sculpt_curves_cache_populate().
void DRW_displist_indexbuf_create_edges_adjacency_lines | ( | struct ListBase * | lb, |
struct GPUIndexBuf * | ibo, | ||
bool * | r_is_manifold | ||
) |
Definition at line 305 of file draw_cache_impl_displist.c.
References blender::math::abs(), BLI_edgehash_free(), BLI_edgehash_new_ex(), BLI_edgehashIterator_free(), BLI_edgehashIterator_getKey(), BLI_edgehashIterator_getValue(), BLI_edgehashIterator_isDone(), BLI_edgehashIterator_new(), BLI_edgehashIterator_step(), curve_render_surface_tri_len_get(), curve_render_surface_vert_len_get(), displist_indexbufbuilder_set(), dl_vert_len(), GPU_indexbuf_add_line_adj_verts(), GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_LINES_ADJ, LISTBASE_FOREACH, NO_EDGE, NULL, POINTER_AS_INT, set_edges_adjacency_lines_indices(), SWAP, v1, and v2.
Referenced by mball_batch_cache_get_edges_adj_lines().
void DRW_displist_indexbuf_create_lines_in_order | ( | struct ListBase * | lb, |
struct GPUIndexBuf * | ibo | ||
) |
Definition at line 242 of file draw_cache_impl_displist.c.
References curve_render_surface_tri_len_get(), curve_render_surface_vert_len_get(), displist_indexbufbuilder_set(), dl_vert_len(), GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_LINES, LISTBASE_FOREACH, set_overlay_wires_quad_tri_indices(), and set_overlay_wires_tri_indices().
Referenced by DRW_metaball_batch_cache_get_wireframes_face().
void DRW_displist_indexbuf_create_triangles_in_order | ( | struct ListBase * | lb, |
struct GPUIndexBuf * | ibo | ||
) |
Definition at line 206 of file draw_cache_impl_displist.c.
References curve_render_surface_tri_len_get(), curve_render_surface_vert_len_get(), displist_indexbufbuilder_set(), dl_vert_len(), GPU_indexbuf_add_tri_verts(), GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_TRIS, and LISTBASE_FOREACH.
Referenced by DRW_metaball_batch_cache_get_triangles_with_normals().
void DRW_displist_vertbuf_create_pos_and_nor | ( | struct ListBase * | lb, |
struct GPUVertBuf * | vbo, | ||
const struct Scene * | scene | ||
) |
Referenced by mball_batch_cache_get_pos_and_normals().
void DRW_displist_vertbuf_create_wiredata | ( | struct ListBase * | lb, |
struct GPUVertBuf * | vbo | ||
) |
Definition at line 200 of file draw_cache_impl_displist.c.
References curve_render_surface_vert_len_get(), and DRW_vertbuf_create_wiredata().
Referenced by DRW_metaball_batch_cache_get_wireframes_face().
Definition at line 155 of file draw_cache_impl_gpencil.c.
References bGPdata::flag, and GP_DATA_CACHE_IS_DIRTY.
Referenced by DRW_engines_register().
Definition at line 160 of file draw_cache_impl_gpencil.c.
References bGPdata::flag, GP_DATA_CACHE_IS_DIRTY, gpencil_batch_cache_clear(), bGPdata_Runtime::gpencil_cache, MEM_SAFE_FREE, and bGPdata::runtime.
Referenced by DRW_engines_register().
Definition at line 281 of file draw_cache_impl_lattice.c.
References Lattice::batch_cache, BKE_LATTICE_BATCH_DIRTY_ALL, BKE_LATTICE_BATCH_DIRTY_SELECT, BLI_assert, GPU_BATCH_DISCARD_SAFE, LatticeBatchCache::is_dirty, NULL, and LatticeBatchCache::overlay_verts.
Referenced by DRW_engines_register().
Definition at line 315 of file draw_cache_impl_lattice.c.
References Lattice::batch_cache, lattice_batch_cache_clear(), and MEM_SAFE_FREE.
Referenced by DRW_engines_register().
struct GPUBatch* DRW_lattice_batch_cache_get_all_edges | ( | struct Lattice * | lt, |
bool | use_weight, | ||
int | actdef | ||
) |
Definition at line 462 of file draw_cache_impl_lattice.c.
References LatticeBatchCache::all_edges, GPU_batch_create, GPU_PRIM_LINES, lattice_batch_cache_get(), lattice_batch_cache_get_edges(), lattice_batch_cache_get_pos(), lattice_render_data_create(), lattice_render_data_free(), LR_DATATYPE_EDGE, LR_DATATYPE_VERT, and NULL.
Referenced by DRW_cache_lattice_wire_get().
Definition at line 481 of file draw_cache_impl_lattice.c.
References LatticeBatchCache::all_verts, GPU_batch_create, GPU_PRIM_POINTS, lattice_batch_cache_get(), lattice_batch_cache_get_pos(), lattice_render_data_create(), lattice_render_data_free(), LR_DATATYPE_VERT, and NULL.
Referenced by DRW_cache_lattice_verts_get().
Definition at line 497 of file draw_cache_impl_lattice.c.
References lattice_batch_cache_create_overlay_batches(), lattice_batch_cache_get(), NULL, and LatticeBatchCache::overlay_verts.
Referenced by DRW_cache_lattice_vert_overlay_get().
Definition at line 268 of file draw_cache_impl_lattice.c.
References lattice_batch_cache_clear(), lattice_batch_cache_init(), and lattice_batch_cache_valid().
Referenced by drw_batch_cache_validate().
Definition at line 101 of file draw_cache_impl_metaball.c.
References MetaBall::batch_cache, BKE_MBALL_BATCH_DIRTY_ALL, BLI_assert, MetaBallBatchCache::is_dirty, and NULL.
Referenced by DRW_engines_register().
Definition at line 134 of file draw_cache_impl_metaball.c.
References MetaBall::batch_cache, MEM_SAFE_FREE, and metaball_batch_cache_clear().
Referenced by DRW_engines_register().
struct GPUVertBuf* DRW_mball_batch_cache_pos_vertbuf_get | ( | struct Object * | ob | ) |
Definition at line 275 of file draw_cache_impl_metaball.c.
References BKE_mball_is_basis(), Object::data, DRW_context_state_get(), mball_batch_cache_get_pos_and_normals(), metaball_batch_cache_get(), NULL, scene, and DRWContextState::scene.
Referenced by DRW_cache_object_pos_vertbuf_get().
Definition at line 88 of file draw_cache_impl_metaball.c.
References metaball_batch_cache_clear(), metaball_batch_cache_init(), and metaball_batch_cache_valid().
Referenced by drw_batch_cache_validate().
void DRW_mesh_batch_cache_create_requested | ( | struct TaskGraph * | task_graph, |
struct Object * | ob, | ||
struct Mesh * | me, | ||
const struct Scene * | scene, | ||
bool | is_paint_mode, | ||
bool | use_hide | ||
) |
Can be called for any surface type. Mesh *me is the final mesh.
Referenced by drw_batch_cache_generate_requested(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), and DRW_draw_depth_object().
void DRW_mesh_batch_cache_dirty_tag | ( | struct Mesh * | me, |
eMeshBatchDirtyMode | mode | ||
) |
Definition at line 737 of file draw_cache_impl_mesh.cc.
References Mesh_Runtime::batch_cache, BATCH_MAP, BKE_MESH_BATCH_DIRTY_ALL, BKE_MESH_BATCH_DIRTY_SELECT, BKE_MESH_BATCH_DIRTY_SELECT_PAINT, BKE_MESH_BATCH_DIRTY_SHADING, BKE_MESH_BATCH_DIRTY_UVEDIT_ALL, BKE_MESH_BATCH_DIRTY_UVEDIT_SELECT, BLI_assert, FOREACH_MESH_BUFFER_CACHE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, MeshBatchCache::is_dirty, mesh_batch_cache_discard_batch(), mesh_batch_cache_discard_shaded_tri(), mesh_batch_cache_discard_uvedit(), mesh_batch_cache_discard_uvedit_select(), and Mesh::runtime.
Referenced by DRW_engines_register().
Definition at line 856 of file draw_cache_impl_mesh.cc.
References Mesh_Runtime::batch_cache, MEM_SAFE_FREE, mesh_batch_cache_clear(), and Mesh::runtime.
Referenced by DRW_engines_register().
Thread safety need to be assured by caller. Don't call this during drawing.
Definition at line 1264 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::attr_used, MeshBatchCache::attr_used_over_time, Mesh_Runtime::batch_cache, MeshBatchCache::cd_used, MeshBatchCache::cd_used_over_time, drw_attributes_clear(), drw_attributes_overlap(), MeshBatchCache::lastmatch, mesh_batch_cache_discard_shaded_tri(), mesh_cd_layers_type_clear(), mesh_cd_layers_type_equal(), and Mesh::runtime.
Referenced by DRW_batch_cache_free_old().
Definition at line 920 of file draw_cache_impl_mesh.cc.
References MeshBatchList::all_edges, MeshBatchCache::batch, DRW_batch_request(), MBC_ALL_EDGES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by DRW_cache_mesh_all_edges_get(), and drw_shgroup_bone_custom_mesh_wire().
Definition at line 913 of file draw_cache_impl_mesh.cc.
References MeshBatchList::all_verts, MeshBatchCache::batch, DRW_batch_request(), MBC_ALL_VERTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by DRW_cache_mesh_all_verts_get().
Definition at line 953 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edge_detection, MeshBatchCache::is_manifold, MBC_EDGE_DETECTION, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by DRW_cache_mesh_edge_detection_get(), and drw_shgroup_bone_custom_solid_mesh().
Definition at line 1150 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_selection_edges, MBC_EDIT_SELECTION_EDGES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by draw_select_id_edit_mesh(), draw_select_id_mesh(), and select_cache_populate().
Definition at line 1088 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_edges, MBC_EDIT_EDGES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by overlay_edit_mesh_add_ob_to_pass().
Definition at line 1116 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_fdots, MBC_EDIT_FACEDOTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by overlay_edit_mesh_add_ob_to_pass(), and OVERLAY_edit_mesh_cache_populate().
Definition at line 1109 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_lnor, MBC_EDIT_LNOR, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by OVERLAY_edit_mesh_cache_populate().
Definition at line 972 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_mesh_analysis, MBC_EDIT_MESH_ANALYSIS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by DRW_cache_mesh_surface_mesh_analysis_get().
Definition at line 1123 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_skin_roots, MBC_SKIN_ROOTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by overlay_edit_mesh_add_ob_to_pass().
Definition at line 1081 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_triangles, MBC_EDIT_TRIANGLES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by DRW_draw_depth_object(), and overlay_edit_mesh_add_ob_to_pass().
Definition at line 1095 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_vertices, MBC_EDIT_VERTICES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by overlay_edit_mesh_add_ob_to_pass().
Definition at line 1102 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_vnor, MBC_EDIT_VNOR, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by OVERLAY_edit_mesh_cache_populate().
Definition at line 1218 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edituv_edges, edituv_request_active_uv(), MBC_EDITUV_EDGES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by overlay_edit_uv_cache_populate().
struct GPUBatch* DRW_mesh_batch_cache_get_edituv_facedots | ( | struct Object * | object, |
struct Mesh * | me | ||
) |
Definition at line 1234 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edituv_fdots, edituv_request_active_uv(), MBC_EDITUV_FACEDOTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by overlay_edit_uv_cache_populate().
Definition at line 1210 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edituv_faces, edituv_request_active_uv(), MBC_EDITUV_FACES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by overlay_edit_uv_cache_populate().
struct GPUBatch* DRW_mesh_batch_cache_get_edituv_faces_stretch_angle | ( | struct Object * | object, |
struct Mesh * | me | ||
) |
Definition at line 1202 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edituv_faces_stretch_angle, edituv_request_active_uv(), MBC_EDITUV_FACES_STRETCH_ANGLE, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by overlay_edit_uv_cache_populate().
struct GPUBatch* DRW_mesh_batch_cache_get_edituv_faces_stretch_area | ( | struct Object * | object, |
struct Mesh * | me, | ||
float ** | tot_area, | ||
float ** | tot_uv_area | ||
) |
Creates the GPUBatch for drawing the UV Stretching Area Overlay. Optional retrieves the total area or total uv area of the mesh.
The cache->tot_area
and cache->tot_uv_areaupdate are calculation are only valid after calling
DRW_mesh_batch_cache_create_requested`.
Definition at line 1184 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edituv_faces_stretch_area, edituv_request_active_uv(), MBC_EDITUV_FACES_STRETCH_AREA, mesh_batch_cache_add_request(), mesh_batch_cache_get(), MeshBatchCache::tot_area, and MeshBatchCache::tot_uv_area.
Referenced by overlay_edit_uv_cache_populate().
Definition at line 1226 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), edituv_request_active_uv(), MeshBatchList::edituv_verts, MBC_EDITUV_VERTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by overlay_edit_uv_cache_populate().
Definition at line 1143 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_selection_fdots, MBC_EDIT_SELECTION_FACEDOTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by draw_select_id_edit_mesh().
Definition at line 935 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::loose_edges, MBC_LOOSE_EDGES, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and MeshBatchCache::no_loose_wire.
Referenced by DRW_cache_mesh_loose_edges_get(), and drw_shgroup_bone_custom_solid_mesh().
Definition at line 1048 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, MeshBatchCache::cd_needed, DRW_batch_request(), MBC_SCULPT_OVERLAYS, mesh_batch_cache_add_request(), mesh_batch_cache_get(), DRW_MeshCDMask::sculpt_overlays, and MeshBatchList::sculpt_overlays.
Referenced by OVERLAY_sculpt_cache_populate().
Definition at line 927 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), and MeshBatchList::surface.
Referenced by draw_select_id_edit_mesh(), DRW_cache_mesh_surface_get(), DRW_draw_depth_object(), drw_shgroup_bone_custom_solid_mesh(), and select_cache_populate().
struct GPUBatch* DRW_mesh_batch_cache_get_surface_edges | ( | struct Object * | object, |
struct Mesh * | me | ||
) |
Definition at line 1250 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MBC_WIRE_LOOPS, mesh_batch_cache_add_request(), mesh_batch_cache_get(), texpaint_request_active_uv(), and MeshBatchList::wire_loops.
Referenced by DRW_cache_mesh_surface_edges_get().
struct GPUBatch* DRW_mesh_batch_cache_get_surface_sculpt | ( | struct Object * | object, |
struct Mesh * | me | ||
) |
Definition at line 1029 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::attr_needed, MeshBatchCache::batch, drw_attributes_merge(), mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), Mesh_Runtime::render_mutex, request_active_and_default_color_attributes(), Mesh::runtime, and MeshBatchList::surface.
Referenced by DRW_cache_mesh_surface_sculptcolors_get().
struct GPUBatch** DRW_mesh_batch_cache_get_surface_shaded | ( | struct Object * | object, |
struct Mesh * | me, | ||
struct GPUMaterial ** | gpumat_array, | ||
uint | gpumat_array_len | ||
) |
Definition at line 979 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::attr_needed, BLI_assert, MeshBatchCache::cd_needed, drw_attributes_clear(), drw_attributes_merge(), MeshBatchCache::mat_len, mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), mesh_cd_calc_used_gpu_layers(), mesh_cd_layers_type_merge(), Mesh_Runtime::render_mutex, Mesh::runtime, and MeshBatchCache::surface_per_mat.
Referenced by DRW_cache_mesh_surface_shaded_get().
struct GPUBatch** DRW_mesh_batch_cache_get_surface_texpaint | ( | struct Object * | object, |
struct Mesh * | me | ||
) |
Definition at line 999 of file draw_cache_impl_mesh.cc.
References mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), MeshBatchCache::surface_per_mat, and texpaint_request_active_uv().
Referenced by DRW_cache_mesh_surface_texpaint_get().
struct GPUBatch* DRW_mesh_batch_cache_get_surface_texpaint_single | ( | struct Object * | object, |
struct Mesh * | me | ||
) |
Definition at line 1007 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), MeshBatchList::surface, and texpaint_request_active_uv().
Referenced by DRW_cache_mesh_surface_texpaint_single_get().
struct GPUBatch* DRW_mesh_batch_cache_get_surface_vertpaint | ( | struct Object * | object, |
struct Mesh * | me | ||
) |
Definition at line 1015 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::attr_needed, MeshBatchCache::batch, drw_attributes_merge(), mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), Mesh_Runtime::render_mutex, request_active_and_default_color_attributes(), Mesh::runtime, and MeshBatchList::surface.
Referenced by DRW_cache_mesh_surface_vertpaint_get().
Definition at line 946 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MBC_SURFACE_WEIGHTS, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and MeshBatchList::surface_weights.
Referenced by DRW_cache_mesh_surface_weights_get().
Definition at line 1136 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_selection_faces, MBC_EDIT_SELECTION_FACES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by draw_select_id_edit_mesh(), draw_select_id_mesh(), and select_cache_populate().
Definition at line 1242 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), edituv_request_active_uv(), MBC_WIRE_LOOPS_UVS, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and MeshBatchList::wire_loops_uvs.
Referenced by overlay_edit_uv_cache_populate().
Definition at line 1157 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MeshBatchList::edit_selection_verts, MBC_EDIT_SELECTION_VERTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by draw_select_id_edit_mesh(), draw_select_id_mesh(), and select_cache_populate().
Definition at line 965 of file draw_cache_impl_mesh.cc.
References MeshBatchCache::batch, DRW_batch_request(), MBC_WIRE_EDGES, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and MeshBatchList::wire_edges.
Referenced by DRW_cache_mesh_face_wireframe_get().
struct GPUVertBuf* DRW_mesh_batch_cache_pos_vertbuf_get | ( | struct Mesh * | me | ) |
Definition at line 1065 of file draw_cache_impl_mesh.cc.
References MeshBufferCache::buff, DRW_vbo_request(), MeshBatchCache::final, mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), MeshBufferList::pos_nor, and MeshBufferList::vbo.
Referenced by DRW_cache_object_pos_vertbuf_get().
Definition at line 621 of file draw_cache_impl_mesh.cc.
References mesh_batch_cache_clear(), mesh_batch_cache_init(), and mesh_batch_cache_valid().
Referenced by drw_batch_cache_validate(), drw_shgroup_bone_custom_mesh_wire(), drw_shgroup_bone_custom_solid_mesh(), and OVERLAY_edit_uv_cache_init().
Referenced by DRW_cache_object_material_count_get().
struct GPUBatch* DRW_metaball_batch_cache_get_edge_detection | ( | struct Object * | ob, |
bool * | r_is_manifold | ||
) |
Definition at line 249 of file draw_cache_impl_metaball.c.
References BKE_mball_is_basis(), Object::data, DRW_context_state_get(), MetaBallBatchCache::edge_detection, GPU_batch_create, GPU_PRIM_LINES_ADJ, MetaBallBatchCache::is_manifold, mball_batch_cache_get_edges_adj_lines(), mball_batch_cache_get_pos_and_normals(), metaball_batch_cache_get(), NULL, scene, and DRWContextState::scene.
Referenced by DRW_cache_mball_edge_detection_get().
struct GPUBatch** DRW_metaball_batch_cache_get_surface_shaded | ( | struct Object * | ob, |
struct MetaBall * | mb, | ||
struct GPUMaterial ** | gpumat_array, | ||
uint | gpumat_array_len | ||
) |
Referenced by DRW_cache_mball_surface_shaded_get().
Definition at line 169 of file draw_cache_impl_metaball.c.
References MetaBallBatchCache::batch, BKE_mball_is_basis(), Object_Runtime::curve_cache, Object::data, CurveCache::disp, DRW_context_state_get(), DRW_displist_indexbuf_create_triangles_in_order(), GPU_batch_create_ex(), GPU_BATCH_OWNS_INDEX, GPU_indexbuf_calloc(), GPU_PRIM_TRIS, mball_batch_cache_get_pos_and_normals(), metaball_batch_cache_get(), NULL, Object::runtime, scene, and DRWContextState::scene.
Referenced by DRW_cache_mball_surface_get(), and DRW_metaball_batch_cache_get_surface_shaded().
Definition at line 217 of file draw_cache_impl_metaball.c.
References MetaBallBatchCache::batch, BKE_mball_is_basis(), Object_Runtime::curve_cache, Object::data, CurveCache::disp, DRW_context_state_get(), DRW_displist_indexbuf_create_lines_in_order(), DRW_displist_vertbuf_create_wiredata(), MetaBallBatchCache::face_wire, GPU_batch_create_ex(), GPU_BATCH_OWNS_INDEX, GPU_batch_vertbuf_add_ex(), GPU_indexbuf_calloc(), GPU_PRIM_LINES, GPU_vertbuf_calloc(), mball_batch_cache_get_pos_and_normals(), metaball_batch_cache_get(), NULL, Object::runtime, scene, and DRWContextState::scene.
Referenced by DRW_cache_mball_face_wireframe_get().
int DRW_metaball_material_count_get | ( | struct MetaBall * | mb | ) |
Definition at line 289 of file draw_cache_impl_metaball.c.
References max_ii(), and MetaBall::totcol.
Referenced by DRW_cache_object_material_count_get(), and DRW_metaball_batch_cache_get_surface_shaded().
void DRW_particle_batch_cache_dirty_tag | ( | struct ParticleSystem * | psys, |
int | mode | ||
) |
Definition at line 148 of file draw_cache_impl_particles.c.
References ParticleSystem::batch_cache, BKE_PARTICLE_BATCH_DIRTY_ALL, BLI_assert, ParticleBatchCache::is_dirty, and NULL.
Referenced by DRW_engines_register().
void DRW_particle_batch_cache_free | ( | struct ParticleSystem * | psys | ) |
Definition at line 230 of file draw_cache_impl_particles.c.
References ParticleSystem::batch_cache, ParticleBatchCache::edit_hair, ParticleBatchCache::hair, MEM_SAFE_FREE, particle_batch_cache_clear(), and particle_batch_cache_free_hair().
Referenced by DRW_engines_register().
struct GPUBatch* DRW_particles_batch_cache_get_dots | ( | struct Object * | object, |
struct ParticleSystem * | psys | ||
) |
Definition at line 1501 of file draw_cache_impl_particles.c.
References GPU_batch_create, GPU_PRIM_POINTS, NULL, particle_batch_cache_ensure_pos(), particle_batch_cache_get(), ParticleBatchCache::point, ParticlePointCache::points, and ParticlePointCache::pos.
Referenced by DRW_cache_particles_get_dots().
struct GPUBatch* DRW_particles_batch_cache_get_edit_inner_points | ( | struct Object * | object, |
struct ParticleSystem * | psys, | ||
struct PTCacheEdit * | edit | ||
) |
Definition at line 1616 of file draw_cache_impl_particles.c.
References drw_particle_update_ptcache_edit(), ParticleBatchCache::edit_inner_points, ParticleBatchCache::edit_inner_pos, ensure_edit_inner_points_count(), GPU_batch_create, GPU_PRIM_POINTS, NULL, particle_batch_cache_ensure_edit_inner_pos(), and particle_batch_cache_get().
Referenced by DRW_cache_particles_get_edit_inner_points().
struct GPUBatch* DRW_particles_batch_cache_get_edit_strands | ( | struct Object * | object, |
struct ParticleSystem * | psys, | ||
struct PTCacheEdit * | edit, | ||
bool | use_weight | ||
) |
Definition at line 1549 of file draw_cache_impl_particles.c.
References drw_particle_update_ptcache_edit(), ParticleBatchCache::edit_hair, ParticleBatchCache::edit_is_weight, ensure_seg_pt_count(), GPU_batch_create, GPU_BATCH_DISCARD_SAFE, GPU_PRIM_LINE_STRIP, GPU_VERTBUF_DISCARD_SAFE, ParticleHairCache::hairs, ParticleHairCache::indices, NULL, particle_batch_cache_ensure_edit_pos_and_seg(), particle_batch_cache_get(), and ParticleHairCache::pos.
Referenced by DRW_cache_particles_get_edit_strands().
struct GPUBatch* DRW_particles_batch_cache_get_edit_tip_points | ( | struct Object * | object, |
struct ParticleSystem * | psys, | ||
struct PTCacheEdit * | edit | ||
) |
Definition at line 1673 of file draw_cache_impl_particles.c.
References drw_particle_update_ptcache_edit(), ParticleBatchCache::edit_tip_points, ParticleBatchCache::edit_tip_pos, ensure_edit_tip_points_count(), GPU_batch_create, GPU_PRIM_POINTS, NULL, particle_batch_cache_ensure_edit_tip_pos(), and particle_batch_cache_get().
Referenced by DRW_cache_particles_get_edit_tip_points().
struct GPUBatch* DRW_particles_batch_cache_get_hair | ( | struct Object * | object, |
struct ParticleSystem * | psys, | ||
struct ModifierData * | md | ||
) |
Definition at line 1484 of file draw_cache_impl_particles.c.
References drw_particle_get_hair_source(), drw_particle_update_ptcache(), ParticleDrawSource::edit, ensure_seg_pt_count(), GPU_batch_create, GPU_PRIM_LINE_STRIP, ParticleBatchCache::hair, ParticleHairCache::hairs, ParticleHairCache::indices, ParticleDrawSource::md, NULL, particle_batch_cache_ensure_pos_and_seg(), particle_batch_cache_get(), ParticleHairCache::pos, and ParticleDrawSource::psys.
Referenced by DRW_cache_particles_get_hair().
void DRW_pointcloud_batch_cache_dirty_tag | ( | struct PointCloud * | pointcloud, |
int | mode | ||
) |
Definition at line 94 of file draw_cache_impl_pointcloud.c.
References PointCloud::batch_cache, BKE_POINTCLOUD_BATCH_DIRTY_ALL, BLI_assert, PointCloudBatchCache::is_dirty, and NULL.
Referenced by DRW_engines_register().
void DRW_pointcloud_batch_cache_free | ( | struct PointCloud * | pointcloud | ) |
Definition at line 130 of file draw_cache_impl_pointcloud.c.
References PointCloud::batch_cache, MEM_SAFE_FREE, and pointcloud_batch_cache_clear().
Referenced by DRW_engines_register().
Definition at line 228 of file draw_cache_impl_pointcloud.c.
References Object::data, PointCloudBatchCache::dots, GPU_batch_create, GPU_PRIM_POINTS, NULL, pointcloud_batch_cache_ensure_pos(), pointcloud_batch_cache_get(), and PointCloudBatchCache::pos.
Referenced by DRW_cache_object_face_wireframe_get(), and DRW_cache_pointcloud_get_dots().
Definition at line 241 of file draw_cache_impl_pointcloud.c.
References Object::data, PointCloudBatchCache::geom, PointCloudBatchCache::geom_indices, GPU_batch_create, GPU_batch_instbuf_add_ex(), GPU_PRIM_TRIS, NULL, pointcloud_batch_cache_ensure_geom(), pointcloud_batch_cache_ensure_pos(), pointcloud_batch_cache_get(), PointCloudBatchCache::pos, and PointCloudBatchCache::surface.
Referenced by DRW_cache_pointcloud_surface_get().
void DRW_pointcloud_batch_cache_validate | ( | struct PointCloud * | pointcloud | ) |
Definition at line 81 of file draw_cache_impl_pointcloud.c.
References pointcloud_batch_cache_clear(), pointcloud_batch_cache_init(), and pointcloud_batch_cache_valid().
Referenced by drw_batch_cache_validate().
int DRW_pointcloud_material_count_get | ( | struct PointCloud * | pointcloud | ) |
Definition at line 277 of file draw_cache_impl_pointcloud.c.
References max_ii(), and PointCloud::totcol.
Referenced by DRW_cache_object_material_count_get(), pointcloud_batch_cache_init(), and pointcloud_batch_cache_valid().
void DRW_vertbuf_create_wiredata | ( | struct GPUVertBuf * | vbo, |
int | vert_len | ||
) |
Definition at line 167 of file draw_cache_impl_displist.c.
References attr_id, GPU_COMP_F32, GPU_COMP_U8, GPU_crappy_amd_driver(), GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_attr_get_raw_data(), GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_get_format(), GPU_vertbuf_init_with_format, GPU_vertbuf_raw_step(), GPU_vertformat_attr_add(), and stride.
Referenced by DRW_displist_vertbuf_create_wiredata(), and drw_volume_wireframe_cb().
Definition at line 95 of file draw_cache_impl_volume.c.
References Volume::batch_cache, BKE_VOLUME_BATCH_DIRTY_ALL, BLI_assert, VolumeBatchCache::is_dirty, and NULL.
Referenced by DRW_engines_register().
Definition at line 128 of file draw_cache_impl_volume.c.
References Volume::batch_cache, MEM_SAFE_FREE, and volume_batch_cache_clear().
Referenced by DRW_engines_register().
Definition at line 257 of file draw_cache_impl_volume.c.
References BKE_volume_grid_active_get_for_read(), BKE_volume_grid_selection_surface(), drw_volume_selection_surface_cb(), NULL, VolumeBatchCache::selection_surface, and volume_batch_cache_get().
Referenced by DRW_cache_volume_selection_surface_get().
Definition at line 203 of file draw_cache_impl_volume.c.
References VolumeBatchCache::batch, BKE_volume_grid_active_get_for_read(), BKE_volume_grid_wireframe(), Volume::display, DRW_context_state_get(), drw_volume_wireframe_cb(), VolumeBatchCache::face_wire, NULL, VolumeWireframeUserData::scene, DRWContextState::scene, VolumeWireframeUserData::volume, volume_batch_cache_get(), VOLUME_WIREFRAME_NONE, and VolumeDisplay::wireframe_type.
Referenced by DRW_cache_volume_face_wireframe_get().
Definition at line 81 of file draw_cache_impl_volume.c.
References volume_batch_cache_clear(), volume_batch_cache_init(), and volume_batch_cache_valid().
Referenced by drw_batch_cache_validate(), and volume_batch_cache_get().
int DRW_volume_material_count_get | ( | struct Volume * | volume | ) |
Definition at line 345 of file draw_cache_impl_volume.c.
References max_ii(), and Volume::totcol.
Referenced by DRW_cache_object_material_count_get().