|
Blender V4.3
|
#include "BLI_math_matrix_types.hh"#include "BLI_utildefines.h"#include "GPU_shader.hh"#include "draw_attributes.hh"Go to the source code of this file.
Classes | |
| struct | blender::draw::DRW_MeshWeightState |
| struct | blender::draw::MeshBufferList |
| struct | blender::draw::MeshBatchList |
| struct | blender::draw::MeshExtractLooseGeom |
| struct | blender::draw::SortedFaceData |
| struct | blender::draw::MeshBufferCache |
| struct | blender::draw::MeshBatchCache |
Namespaces | |
| namespace | blender |
| namespace | blender::gpu |
| namespace | blender::draw |
Macros | |
| #define | MBC_BATCH_LEN (sizeof(MeshBatchList) / sizeof(void *)) |
| #define | MBC_VBO_LEN (sizeof(MeshBufferList::vbo) / sizeof(void *)) |
| #define | MBC_IBO_LEN (sizeof(MeshBufferList::ibo) / sizeof(void *)) |
| #define | MBC_BATCH_INDEX(batch) (offsetof(MeshBatchList, batch) / sizeof(void *)) |
| #define | FOREACH_MESH_BUFFER_CACHE(batch_cache, mbc) |
| #define | MBC_EDITUV |
Enumerations | |
| enum | { blender::draw::DRW_MESH_WEIGHT_STATE_MULTIPAINT = (1 << 0) , blender::draw::DRW_MESH_WEIGHT_STATE_AUTO_NORMALIZE = (1 << 1) , blender::draw::DRW_MESH_WEIGHT_STATE_LOCK_RELATIVE = (1 << 2) } |
| enum | blender::draw::DRWBatchFlag { blender::draw::MBC_SURFACE = (1u << MBC_BATCH_INDEX(surface)) , blender::draw::MBC_SURFACE_WEIGHTS = (1u << MBC_BATCH_INDEX(surface_weights)) , blender::draw::MBC_EDIT_TRIANGLES = (1u << MBC_BATCH_INDEX(edit_triangles)) , blender::draw::MBC_EDIT_VERTICES = (1u << MBC_BATCH_INDEX(edit_vertices)) , blender::draw::MBC_EDIT_EDGES = (1u << MBC_BATCH_INDEX(edit_edges)) , blender::draw::MBC_EDIT_VNOR = (1u << MBC_BATCH_INDEX(edit_vnor)) , blender::draw::MBC_EDIT_LNOR = (1u << MBC_BATCH_INDEX(edit_lnor)) , blender::draw::MBC_EDIT_FACEDOTS = (1u << MBC_BATCH_INDEX(edit_fdots)) , blender::draw::MBC_EDIT_MESH_ANALYSIS = (1u << MBC_BATCH_INDEX(edit_mesh_analysis)) , blender::draw::MBC_SKIN_ROOTS = (1u << MBC_BATCH_INDEX(edit_skin_roots)) , blender::draw::MBC_EDITUV_FACES_STRETCH_AREA = (1u << MBC_BATCH_INDEX(edituv_faces_stretch_area)) , blender::draw::MBC_EDITUV_FACES_STRETCH_ANGLE = (1u << MBC_BATCH_INDEX(edituv_faces_stretch_angle)) , blender::draw::MBC_EDITUV_FACES = (1u << MBC_BATCH_INDEX(edituv_faces)) , blender::draw::MBC_EDITUV_EDGES = (1u << MBC_BATCH_INDEX(edituv_edges)) , blender::draw::MBC_EDITUV_VERTS = (1u << MBC_BATCH_INDEX(edituv_verts)) , blender::draw::MBC_EDITUV_FACEDOTS = (1u << MBC_BATCH_INDEX(edituv_fdots)) , blender::draw::MBC_EDIT_SELECTION_VERTS = (1u << MBC_BATCH_INDEX(edit_selection_verts)) , blender::draw::MBC_EDIT_SELECTION_EDGES = (1u << MBC_BATCH_INDEX(edit_selection_edges)) , blender::draw::MBC_EDIT_SELECTION_FACES = (1u << MBC_BATCH_INDEX(edit_selection_faces)) , blender::draw::MBC_EDIT_SELECTION_FACEDOTS = (1u << MBC_BATCH_INDEX(edit_selection_fdots)) , blender::draw::MBC_ALL_VERTS = (1u << MBC_BATCH_INDEX(all_verts)) , blender::draw::MBC_ALL_EDGES = (1u << MBC_BATCH_INDEX(all_edges)) , blender::draw::MBC_LOOSE_EDGES = (1u << MBC_BATCH_INDEX(loose_edges)) , blender::draw::MBC_EDGE_DETECTION = (1u << MBC_BATCH_INDEX(edge_detection)) , blender::draw::MBC_WIRE_EDGES = (1u << MBC_BATCH_INDEX(wire_edges)) , blender::draw::MBC_WIRE_LOOPS = (1u << MBC_BATCH_INDEX(wire_loops)) , blender::draw::MBC_WIRE_LOOPS_UVS = (1u << MBC_BATCH_INDEX(wire_loops_uvs)) , blender::draw::MBC_SCULPT_OVERLAYS = (1u << MBC_BATCH_INDEX(sculpt_overlays)) , blender::draw::MBC_VIEWER_ATTRIBUTE_OVERLAY = (1u << MBC_BATCH_INDEX(surface_viewer_attribute)) , blender::draw::MBC_SURFACE_PER_MAT = (1u << MBC_BATCH_LEN) } |
Functions | |
| int | blender::draw::mesh_render_mat_len_get (const Object &object, const Mesh &mesh) |
| blender::draw::ENUM_OPERATORS (DRWBatchFlag, MBC_SURFACE_PER_MAT) | |
| blender::draw::BLI_STATIC_ASSERT (MBC_BATCH_LEN< 32, "Number of batches exceeded the limit of bit fields") | |
Extract Loop | |
| void | blender::draw::mesh_buffer_cache_create_requested (TaskGraph &task_graph, MeshBatchCache &cache, MeshBufferCache &mbc, Object &object, Mesh &mesh, bool is_editmode, bool is_paint_mode, bool edit_mode_active, const float4x4 &object_to_world, bool do_final, bool do_uvedit, const Scene &scene, const ToolSettings *ts, bool use_hide) |
Subdivision Extract Loop | |
| void | blender::draw::mesh_buffer_cache_create_requested_subdiv (MeshBatchCache &cache, MeshBufferCache &mbc, DRWSubdivCache &subdiv_cache, MeshRenderData &mr) |
| #define FOREACH_MESH_BUFFER_CACHE | ( | batch_cache, | |
| mbc ) |
Definition at line 226 of file draw_cache_extract.hh.
Referenced by blender::draw::DRW_mesh_batch_cache_create_requested(), blender::draw::DRW_mesh_batch_cache_dirty_tag(), blender::draw::mesh_batch_cache_check_vertex_group(), blender::draw::mesh_batch_cache_clear(), blender::draw::mesh_batch_cache_discard_shaded_tri(), blender::draw::mesh_batch_cache_discard_uvedit(), and blender::draw::mesh_batch_cache_discard_uvedit_select().
Definition at line 156 of file draw_cache_extract.hh.
| #define MBC_BATCH_LEN (sizeof(MeshBatchList) / sizeof(void *)) |
Definition at line 152 of file draw_cache_extract.hh.
Referenced by blender::draw::drw_mesh_batch_cache_check_available(), and blender::draw::mesh_batch_cache_discard_batch().
| #define MBC_EDITUV |
Definition at line 280 of file draw_cache_extract.hh.
Referenced by blender::draw::DRW_mesh_batch_cache_create_requested().
| #define MBC_IBO_LEN (sizeof(MeshBufferList::ibo) / sizeof(void *)) |
Definition at line 154 of file draw_cache_extract.hh.
Referenced by blender::draw::drw_mesh_batch_cache_check_available().
| #define MBC_VBO_LEN (sizeof(MeshBufferList::vbo) / sizeof(void *)) |
Definition at line 153 of file draw_cache_extract.hh.
Referenced by blender::draw::drw_mesh_batch_cache_check_available().