Blender V4.3
draw_cache_extract_mesh_render_data.cc File Reference

Extraction of Mesh data into VBO to feed to GPU. More...

#include "MEM_guardedalloc.h"
#include "BLI_array.hh"
#include "BLI_array_utils.hh"
#include "BLI_enumerable_thread_specific.hh"
#include "BLI_index_mask.hh"
#include "BLI_math_matrix.h"
#include "BLI_task.hh"
#include "BLI_virtual_array.hh"
#include "BKE_attribute.hh"
#include "BKE_editmesh.hh"
#include "BKE_editmesh_cache.hh"
#include "BKE_mesh.hh"
#include "BKE_mesh_runtime.hh"
#include "BKE_object.hh"
#include "GPU_batch.hh"
#include "ED_mesh.hh"
#include "mesh_extractors/extract_mesh.hh"

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::draw
 

Functions

static void blender::draw::extract_set_bits (const BitSpan bits, MutableSpan< int > indices)
 
static void blender::draw::mesh_render_data_loose_geom_mesh (const MeshRenderData &mr, MeshBufferCache &cache)
 
static void blender::draw::mesh_render_data_loose_verts_bm (const MeshRenderData &mr, MeshBufferCache &cache, BMesh &bm)
 
static void blender::draw::mesh_render_data_loose_edges_bm (const MeshRenderData &mr, MeshBufferCache &cache, BMesh &bm)
 
static void blender::draw::mesh_render_data_loose_geom_build (const MeshRenderData &mr, MeshBufferCache &cache)
 
static void blender::draw::mesh_render_data_loose_geom_ensure (const MeshRenderData &mr, MeshBufferCache &cache)
 
void blender::draw::mesh_render_data_update_loose_geom (MeshRenderData &mr, MeshBufferCache &cache)
 
Polygons sorted per material

Contains face indices sorted based on their material.

static void blender::draw::accumululate_material_counts_bm (const BMesh &bm, threading::EnumerableThreadSpecific< Array< int > > &all_tri_counts)
 
static void blender::draw::accumululate_material_counts_mesh (const MeshRenderData &mr, threading::EnumerableThreadSpecific< Array< int > > &all_tri_counts)
 
static Array< intblender::draw::mesh_render_data_mat_tri_len_build (const MeshRenderData &mr)
 
static Array< intblender::draw::calc_face_tri_starts_bmesh (const MeshRenderData &mr, MutableSpan< int > material_tri_starts)
 
static bool blender::draw::mesh_is_single_material (const OffsetIndices< int > material_tri_starts)
 
static std::optional< Array< int > > blender::draw::calc_face_tri_starts_mesh (const MeshRenderData &mr, MutableSpan< int > material_tri_starts)
 
static SortedFaceData blender::draw::mesh_render_data_faces_sorted_build (const MeshRenderData &mr)
 
const SortedFaceDatablender::draw::mesh_render_data_faces_sorted_ensure (const MeshRenderData &mr, MeshBufferCache &cache)
 
Mesh/BMesh Interface (indirect, partially cached access to complex data).
const Meshblender::draw::editmesh_final_or_this (const Object &object, const Mesh &mesh)
 
const CustomDatablender::draw::mesh_cd_ldata_get_from_mesh (const Mesh &mesh)
 
const CustomDatablender::draw::mesh_cd_pdata_get_from_mesh (const Mesh &mesh)
 
const CustomDatablender::draw::mesh_cd_edata_get_from_mesh (const Mesh &mesh)
 
const CustomDatablender::draw::mesh_cd_vdata_get_from_mesh (const Mesh &mesh)
 
static bool blender::draw::bm_edge_is_sharp (const BMEdge *const &edge)
 
static bool blender::draw::bm_face_is_sharp (const BMFace *const &face)
 
static bke::MeshNormalDomain blender::draw::bmesh_normals_domain (BMesh *bm)
 
void blender::draw::mesh_render_data_update_corner_normals (MeshRenderData &mr)
 
void blender::draw::mesh_render_data_update_face_normals (MeshRenderData &mr)
 
static void blender::draw::retrieve_active_attribute_names (MeshRenderData &mr, const Object &object, const Mesh &mesh)
 
std::unique_ptr< MeshRenderDatablender::draw::mesh_render_data_create (Object &object, Mesh &mesh, const bool is_editmode, const bool is_paint_mode, const bool edit_mode_active, const float4x4 &object_to_world, const bool do_final, const bool do_uvedit, const bool use_hide, const ToolSettings *ts)
 

Detailed Description

Extraction of Mesh data into VBO to feed to GPU.

Definition in file draw_cache_extract_mesh_render_data.cc.