72 MR_ITER_LOOPTRI = 1 << 0,
73 MR_ITER_POLY = 1 << 1,
74 MR_ITER_LEDGE = 1 << 2,
75 MR_ITER_LVERT = 1 << 3,
93 if (me->edit_mesh !=
NULL) {
95 if (editmesh_eval_final !=
NULL) {
96 return std::max<int>(1, editmesh_eval_final->
totcol);
99 return std::max<int>(1, me->totcol);
196 #define MBC_BATCH_LEN (sizeof(MeshBatchList) / sizeof(void *))
197 #define MBC_VBO_LEN (sizeof(MeshBufferList::vbo) / sizeof(void *))
198 #define MBC_IBO_LEN (sizeof(MeshBufferList::ibo) / sizeof(void *))
200 #define MBC_BATCH_INDEX(batch) (offsetof(MeshBatchList, batch) / sizeof(void *))
261 #define FOREACH_MESH_BUFFER_CACHE(batch_cache, mbc) \
262 for (MeshBufferCache *mbc = &batch_cache->final; \
263 mbc == &batch_cache->final || mbc == &batch_cache->cage || mbc == &batch_cache->uv_cage; \
264 mbc = (mbc == &batch_cache->final) ? \
265 &batch_cache->cage : \
266 ((mbc == &batch_cache->cage) ? &batch_cache->uv_cage : NULL))
318 (MBC_EDITUV_FACES_STRETCH_AREA | MBC_EDITUV_FACES_STRETCH_ANGLE | MBC_EDITUV_FACES | \
319 MBC_EDITUV_EDGES | MBC_EDITUV_VERTS | MBC_EDITUV_FACEDOTS | MBC_WIRE_LOOPS_UVS)
331 const float obmat[4][4],
Generic geometry attributes built on CustomData.
General operations, lookup, etc. for blender objects.
struct Mesh * BKE_object_get_editmesh_eval_final(const struct Object *object)
struct GPUIndexBuf GPUIndexBuf
struct GPUVertBuf GPUVertBuf
Utilities for rendering attributes.
struct @211::@212 surface
void mesh_buffer_cache_create_requested(TaskGraph *task_graph, MeshBatchCache *cache, MeshBufferCache *mbc, Object *object, Mesh *me, bool is_editmode, bool is_paint_mode, bool is_mode_active, const float obmat[4][4], bool do_final, bool do_uvedit, const Scene *scene, const ToolSettings *ts, bool use_hide)
void mesh_buffer_cache_create_requested_subdiv(MeshBatchCache *cache, MeshBufferCache *mbc, DRWSubdivCache *subdiv_cache, MeshRenderData *mr)
DRW_MeshWeightState weight_state
DRW_MeshCDMask cd_used_over_time
GPUBatch ** surface_per_mat
DRWBatchFlag batch_requested
DRWSubdivCache * subdiv_cache
DRW_Attributes attr_needed
GPUIndexBuf ** tris_per_mat
eV3DShadingColorType color_type
DRW_Attributes attr_used_over_time
GPUBatch * surface_weights
GPUBatch * edituv_faces_stretch_angle
GPUBatch * edit_selection_faces
GPUBatch * edituv_faces_stretch_area
GPUBatch * edge_detection
GPUBatch * edit_mesh_analysis
GPUBatch * edit_selection_fdots
GPUBatch * edit_skin_roots
GPUBatch * edit_selection_edges
GPUBatch * wire_loops_uvs
GPUBatch * sculpt_overlays
GPUBatch * edit_selection_verts
GPUBatch * edit_triangles
MeshExtractLooseGeom loose_geom
struct MeshBufferCache::@274 poly_sorted
GPUIndexBuf * lines_paint_mask
GPUVertBuf * edituv_stretch_area
GPUIndexBuf * lines_loose
GPUVertBuf * attr[GPU_MAX_ATTR]
GPUVertBuf * fdots_edituv_data
GPUIndexBuf * edituv_points
GPUIndexBuf * edituv_fdots
GPUIndexBuf * edituv_tris
GPUIndexBuf * edituv_lines
struct MeshBufferList::@272 vbo
struct MeshBufferList::@273 ibo
GPUVertBuf * edituv_stretch_angle
GPUIndexBuf * lines_adjacency
GPUVertBuf * mesh_analysis