Blender V5.0
draw_cache_extract_mesh_render_data.cc File Reference

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

#include "BLI_array.hh"
#include "BLI_array_utils.hh"
#include "BLI_enumerable_thread_specific.hh"
#include "BLI_math_geom.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_material.hh"
#include "BKE_mesh.hh"
#include "BKE_object.hh"
#include "ED_mesh.hh"
#include "DRW_render.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< int > blender::draw::mesh_render_data_mat_tri_len_build (const MeshRenderData &mr)
static Array< int > blender::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 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)
MeshRenderData blender::draw::mesh_render_data_create (Object &object, Mesh &mesh, const bool is_editmode, const bool is_paint_mode, 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.