Blender
V3.3
|
Extraction of Mesh data into VBO to feed to GPU. More...
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BKE_customdata.h"
#include "BKE_editmesh.h"
#include "draw_cache_extract.hh"
Go to the source code of this file.
Classes | |
struct | MeshRenderData |
struct | MeshExtract |
struct | EditLoopData |
Macros | |
#define | MIN_RANGE_LEN 1024 |
Typedefs | |
Mesh Elements Extract Struct | |
using | ExtractTriBMeshFn = void(const MeshRenderData *mr, BMLoop **elt, int elt_index, void *data) |
using | ExtractTriMeshFn = void(const MeshRenderData *mr, const MLoopTri *mlt, int elt_index, void *data) |
using | ExtractPolyBMeshFn = void(const MeshRenderData *mr, const BMFace *f, int f_index, void *data) |
using | ExtractPolyMeshFn = void(const MeshRenderData *mr, const MPoly *mp, int mp_index, void *data) |
using | ExtractLEdgeBMeshFn = void(const MeshRenderData *mr, const BMEdge *eed, int ledge_index, void *data) |
using | ExtractLEdgeMeshFn = void(const MeshRenderData *mr, const MEdge *med, int ledge_index, void *data) |
using | ExtractLVertBMeshFn = void(const MeshRenderData *mr, const BMVert *eve, int lvert_index, void *data) |
using | ExtractLVertMeshFn = void(const MeshRenderData *mr, const MVert *mv, int lvert_index, void *data) |
using | ExtractLooseGeomSubdivFn = void(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, void *buffer, void *data) |
using | ExtractInitFn = void(const MeshRenderData *mr, MeshBatchCache *cache, void *buffer, void *r_data) |
using | ExtractFinishFn = void(const MeshRenderData *mr, MeshBatchCache *cache, void *buffer, void *data) |
using | ExtractTaskReduceFn = void(void *userdata, void *task_userdata) |
using | ExtractInitSubdivFn = void(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, MeshBatchCache *cache, void *buf, void *data) |
using | ExtractIterSubdivBMeshFn = void(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, void *data, uint subdiv_quad_index, const BMFace *coarse_quad) |
using | ExtractIterSubdivMeshFn = void(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, void *data, uint subdiv_quad_index, const MPoly *coarse_quad) |
using | ExtractFinishSubdivFn = void(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, MeshBatchCache *cache, void *buf, void *data) |
Mesh Render Data | |
enum | eMRExtractType { MR_EXTRACT_BMESH , MR_EXTRACT_MAPPED , MR_EXTRACT_MESH } |
BLI_INLINE const Mesh * | editmesh_final_or_this (const Object *object, const Mesh *me) |
BLI_INLINE const CustomData * | mesh_cd_ldata_get_from_mesh (const Mesh *me) |
BLI_INLINE const CustomData * | mesh_cd_pdata_get_from_mesh (const Mesh *me) |
BLI_INLINE const CustomData * | mesh_cd_edata_get_from_mesh (const Mesh *me) |
BLI_INLINE const CustomData * | mesh_cd_vdata_get_from_mesh (const Mesh *me) |
BLI_INLINE BMFace * | bm_original_face_get (const MeshRenderData *mr, int idx) |
BLI_INLINE BMEdge * | bm_original_edge_get (const MeshRenderData *mr, int idx) |
BLI_INLINE BMVert * | bm_original_vert_get (const MeshRenderData *mr, int idx) |
BLI_INLINE const float * | bm_vert_co_get (const MeshRenderData *mr, const BMVert *eve) |
BLI_INLINE const float * | bm_vert_no_get (const MeshRenderData *mr, const BMVert *eve) |
BLI_INLINE const float * | bm_face_no_get (const MeshRenderData *mr, const BMFace *efa) |
Extraction of Mesh data into VBO to feed to GPU.
Definition in file extract_mesh.hh.
#define MIN_RANGE_LEN 1024 |
Definition at line 24 of file extract_mesh.hh.
using ExtractFinishFn = void(const MeshRenderData *mr, MeshBatchCache *cache, void *buffer, void *data) |
Definition at line 274 of file extract_mesh.hh.
using ExtractFinishSubdivFn = void(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, MeshBatchCache *cache, void *buf, void *data) |
Definition at line 295 of file extract_mesh.hh.
using ExtractInitFn = void(const MeshRenderData *mr, MeshBatchCache *cache, void *buffer, void *r_data) |
Definition at line 270 of file extract_mesh.hh.
using ExtractInitSubdivFn = void(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, MeshBatchCache *cache, void *buf, void *data) |
Definition at line 280 of file extract_mesh.hh.
using ExtractIterSubdivBMeshFn = void(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, void *data, uint subdiv_quad_index, const BMFace *coarse_quad) |
Definition at line 285 of file extract_mesh.hh.
using ExtractIterSubdivMeshFn = void(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, void *data, uint subdiv_quad_index, const MPoly *coarse_quad) |
Definition at line 290 of file extract_mesh.hh.
using ExtractLEdgeBMeshFn = void(const MeshRenderData *mr, const BMEdge *eed, int ledge_index, void *data) |
Definition at line 250 of file extract_mesh.hh.
using ExtractLEdgeMeshFn = void(const MeshRenderData *mr, const MEdge *med, int ledge_index, void *data) |
Definition at line 254 of file extract_mesh.hh.
using ExtractLooseGeomSubdivFn = void(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, void *buffer, void *data) |
Definition at line 266 of file extract_mesh.hh.
using ExtractLVertBMeshFn = void(const MeshRenderData *mr, const BMVert *eve, int lvert_index, void *data) |
Definition at line 258 of file extract_mesh.hh.
using ExtractLVertMeshFn = void(const MeshRenderData *mr, const MVert *mv, int lvert_index, void *data) |
Definition at line 262 of file extract_mesh.hh.
using ExtractPolyBMeshFn = void(const MeshRenderData *mr, const BMFace *f, int f_index, void *data) |
Definition at line 242 of file extract_mesh.hh.
using ExtractPolyMeshFn = void(const MeshRenderData *mr, const MPoly *mp, int mp_index, void *data) |
Definition at line 246 of file extract_mesh.hh.
using ExtractTaskReduceFn = void(void *userdata, void *task_userdata) |
Definition at line 278 of file extract_mesh.hh.
using ExtractTriBMeshFn = void(const MeshRenderData *mr, BMLoop **elt, int elt_index, void *data) |
Definition at line 237 of file extract_mesh.hh.
using ExtractTriMeshFn = void(const MeshRenderData *mr, const MLoopTri *mlt, int elt_index, void *data) |
Definition at line 238 of file extract_mesh.hh.
enum eMRExtractType |
Enumerator | |
---|---|
MR_EXTRACT_BMESH | |
MR_EXTRACT_MAPPED | |
MR_EXTRACT_MESH |
Definition at line 30 of file extract_mesh.hh.
BLI_INLINE const float* bm_face_no_get | ( | const MeshRenderData * | mr, |
const BMFace * | efa | ||
) |
Definition at line 218 of file extract_mesh.hh.
References BM_elem_index_get, MeshRenderData::bm_poly_normals, float(), BMFace::no, NULL, and UNUSED_VARS.
Referenced by blender::draw::extract_edge_fac_iter_poly_bm(), blender::draw::extract_fdots_nor_finish(), blender::draw::extract_fdots_nor_hq_finish(), blender::draw::extract_lnor_hq_iter_poly_bm(), blender::draw::extract_lnor_iter_poly_bm(), blender::draw::statvis_calc_overhang(), and blender::draw::statvis_calc_thickness().
BLI_INLINE BMEdge* bm_original_edge_get | ( | const MeshRenderData * | mr, |
int | idx | ||
) |
Definition at line 182 of file extract_mesh.hh.
References MeshRenderData::bm, BM_edge_at_index(), MeshRenderData::e_origindex, NULL, and ORIGINDEX_NONE.
Referenced by blender::draw::extract_edit_data_iter_ledge_mesh(), blender::draw::extract_edit_data_iter_poly_mesh(), blender::draw::extract_edit_data_loose_geom_subdiv(), blender::draw::extract_edituv_data_iter_poly_mesh(), and blender::draw::extract_lines_loose_geom_subdiv().
BLI_INLINE BMFace* bm_original_face_get | ( | const MeshRenderData * | mr, |
int | idx | ||
) |
Definition at line 175 of file extract_mesh.hh.
References MeshRenderData::bm, BM_face_at_index(), NULL, ORIGINDEX_NONE, and MeshRenderData::p_origindex.
Referenced by draw_subdiv_cache_extra_coarse_face_data_mapped(), blender::draw::extract_edit_data_iter_poly_mesh(), blender::draw::extract_edit_data_iter_subdiv_mesh(), blender::draw::extract_edituv_data_iter_poly_mesh(), blender::draw::extract_edituv_data_iter_subdiv_mesh(), blender::draw::extract_edituv_fdots_iter_poly_mesh(), blender::draw::extract_edituv_lines_iter_poly_mesh(), blender::draw::extract_edituv_lines_iter_subdiv_mesh(), blender::draw::extract_edituv_points_iter_poly_mesh(), blender::draw::extract_edituv_points_iter_subdiv_mesh(), blender::draw::extract_edituv_tris_iter_looptri_mesh(), blender::draw::extract_edituv_tris_iter_subdiv_mesh(), blender::draw::extract_fdots_edituv_data_iter_poly_mesh(), blender::draw::extract_fdots_nor_finish(), and blender::draw::extract_fdots_nor_hq_finish().
BLI_INLINE BMVert* bm_original_vert_get | ( | const MeshRenderData * | mr, |
int | idx | ||
) |
Definition at line 189 of file extract_mesh.hh.
References MeshRenderData::bm, BM_vert_at_index(), NULL, ORIGINDEX_NONE, and MeshRenderData::v_origindex.
Referenced by blender::draw::extract_edit_data_iter_ledge_mesh(), blender::draw::extract_edit_data_iter_lvert_mesh(), blender::draw::extract_edit_data_iter_poly_mesh(), blender::draw::extract_edit_data_iter_subdiv_bm(), blender::draw::extract_edituv_data_iter_poly_mesh(), and blender::draw::extract_points_loose_geom_subdiv().
BLI_INLINE const float* bm_vert_co_get | ( | const MeshRenderData * | mr, |
const BMVert * | eve | ||
) |
Definition at line 196 of file extract_mesh.hh.
References BM_elem_index_get, MeshRenderData::bm_vert_coords, BMVert::co, float(), NULL, and UNUSED_VARS.
Referenced by blender::draw::extract_edge_fac_iter_poly_bm(), blender::draw::extract_edituv_stretch_angle_iter_poly_bm(), blender::draw::extract_fdots_pos_iter_poly_bm(), blender::draw::extract_pos_nor_hq_iter_ledge_bm(), blender::draw::extract_pos_nor_hq_iter_lvert_bm(), blender::draw::extract_pos_nor_hq_iter_poly_bm(), blender::draw::extract_pos_nor_iter_ledge_bm(), blender::draw::extract_pos_nor_iter_lvert_bm(), blender::draw::extract_pos_nor_iter_poly_bm(), blender::draw::extract_skin_roots_init(), and blender::draw::statvis_calc_thickness().
BLI_INLINE const float* bm_vert_no_get | ( | const MeshRenderData * | mr, |
const BMVert * | eve | ||
) |
Definition at line 207 of file extract_mesh.hh.
References BM_elem_index_get, MeshRenderData::bm_vert_normals, float(), BMVert::no, NULL, and UNUSED_VARS.
Referenced by blender::draw::extract_edge_fac_iter_poly_bm(), blender::draw::extract_lnor_hq_iter_poly_bm(), blender::draw::extract_lnor_iter_poly_bm(), blender::draw::extract_pos_nor_hq_init(), and blender::draw::extract_pos_nor_init().
BLI_INLINE const Mesh* editmesh_final_or_this | ( | const Object * | object, |
const Mesh * | me | ||
) |
Definition at line 99 of file extract_mesh.hh.
References BKE_object_get_editmesh_eval_final(), and Mesh::edit_mesh.
Referenced by mesh_cd_calc_active_mask_uv_layer(), mesh_cd_calc_active_uv_layer(), mesh_cd_calc_used_gpu_layers(), request_active_and_default_color_attributes(), and retrieve_active_attribute_names().
BLI_INLINE const CustomData* mesh_cd_edata_get_from_mesh | ( | const Mesh * | me | ) |
Definition at line 143 of file extract_mesh.hh.
References BLI_assert, BMEditMesh::bm, BMesh::edata, Mesh::edata, Mesh::edit_mesh, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, Mesh::runtime, and Mesh_Runtime::wrapper_type.
Referenced by mesh_cd_calc_used_gpu_layers().
BLI_INLINE const CustomData* mesh_cd_ldata_get_from_mesh | ( | const Mesh * | me | ) |
Definition at line 111 of file extract_mesh.hh.
References BLI_assert, BMEditMesh::bm, Mesh::edit_mesh, BMesh::ldata, Mesh::ldata, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, Mesh::runtime, and Mesh_Runtime::wrapper_type.
Referenced by mesh_cd_calc_active_mask_uv_layer(), mesh_cd_calc_active_uv_layer(), mesh_cd_calc_used_gpu_layers(), request_active_and_default_color_attributes(), and retrieve_active_attribute_names().
BLI_INLINE const CustomData* mesh_cd_pdata_get_from_mesh | ( | const Mesh * | me | ) |
Definition at line 127 of file extract_mesh.hh.
References BLI_assert, BMEditMesh::bm, Mesh::edit_mesh, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, BMesh::pdata, Mesh::pdata, Mesh::runtime, and Mesh_Runtime::wrapper_type.
Referenced by mesh_cd_calc_used_gpu_layers().
BLI_INLINE const CustomData* mesh_cd_vdata_get_from_mesh | ( | const Mesh * | me | ) |
Definition at line 159 of file extract_mesh.hh.
References BLI_assert, BMEditMesh::bm, Mesh::edit_mesh, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, Mesh::runtime, BMesh::vdata, Mesh::vdata, and Mesh_Runtime::wrapper_type.
Referenced by mesh_cd_calc_used_gpu_layers(), request_active_and_default_color_attributes(), and retrieve_active_attribute_names().
void* mesh_extract_buffer_get | ( | const MeshExtract * | extractor, |
MeshBufferList * | mbuflist | ||
) |
Definition at line 20 of file extract_mesh.cc.
References BLI_assert, buffer, MeshExtract::mesh_buffer_offset, and POINTER_OFFSET.
Referenced by blender::draw::extract_init(), and blender::draw::mesh_buffer_cache_create_requested_subdiv().
eMRIterType mesh_extract_iter_type | ( | const MeshExtract * | ext | ) |
Definition at line 30 of file extract_mesh.cc.
References MeshExtract::iter_ledge_bm, MeshExtract::iter_ledge_mesh, MeshExtract::iter_looptri_bm, MeshExtract::iter_looptri_mesh, MeshExtract::iter_lvert_bm, MeshExtract::iter_lvert_mesh, MeshExtract::iter_poly_bm, MeshExtract::iter_poly_mesh, SET_FLAG_FROM_TEST, and type.
Referenced by blender::draw::ExtractorRunDatas::iter_types().
const MeshExtract* mesh_extract_override_get | ( | const MeshExtract * | extractor, |
bool | do_hq_normals, | ||
bool | do_single_mat | ||
) |
Definition at line 71 of file extract_mesh.cc.
References mesh_extract_override_hq_normals(), and mesh_extract_override_single_material().
MeshRenderData* mesh_render_data_create | ( | 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 ToolSettings * | ts | ||
) |
is_mode_active | When true, use the modifiers from the edit-data, otherwise don't use modifiers as they are not from this object. |
Definition at line 458 of file draw_cache_extract_mesh_render_data.cc.
References BKE_editmesh_cache_ensure_poly_normals(), BKE_editmesh_cache_ensure_vert_normals(), BKE_object_get_editmesh_eval_cage(), BKE_object_get_editmesh_eval_final(), BLI_assert, BMEditMesh::bm, bm, MeshRenderData::bm, BM_EDGE, BM_FACE, BM_LOOP, BM_mesh_active_edge_get(), BM_mesh_active_face_get(), BM_mesh_active_vert_get(), BM_mesh_elem_index_ensure(), BM_mesh_elem_table_ensure(), MeshRenderData::bm_poly_centers, MeshRenderData::bm_poly_normals, BM_VERT, MeshRenderData::bm_vert_coords, MeshRenderData::bm_vert_normals, MeshRenderData::bweight_ofs, CD_BWEIGHT, CD_CREASE, CD_FREESTYLE_EDGE, CD_FREESTYLE_FACE, CD_MEDGE, CD_MLOOP, CD_MPOLY, CD_MVERT, CD_ORIGINDEX, copy_m4_m4(), CustomData_get_layer(), CustomData_get_offset(), MeshRenderData::e_origindex, BMesh::edata, Mesh::edata, EDBM_uv_active_face_get(), MeshRenderData::edge_crease_ofs, MeshRenderData::edge_len, MeshRenderData::edit_bmesh, MeshRenderData::edit_data, Mesh_Runtime::edit_data, Mesh::edit_mesh, MeshRenderData::eed_act, MeshRenderData::efa_act, MeshRenderData::efa_act_uv, ELEM, MeshRenderData::eve_act, MeshRenderData::extract_type, MeshRenderData::freestyle_edge_ofs, MeshRenderData::freestyle_face_ofs, Mesh_Runtime::is_original, Mesh::ldata, MeshRenderData::loop_len, MeshRenderData::mat_len, MeshRenderData::me, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, MeshRenderData::medge, MEM_callocN, mesh_render_mat_len_get(), MeshRenderData::mloop, MeshRenderData::mpoly, MR_EXTRACT_BMESH, MR_EXTRACT_MAPPED, MR_EXTRACT_MESH, MeshRenderData::mvert, MeshRenderData::obmat, MeshRenderData::p_origindex, BMesh::pdata, Mesh::pdata, MeshRenderData::poly_len, poly_to_tri_count(), EditMeshData::polyCos, EditMeshData::polyNos, retrieve_active_attribute_names(), Mesh::runtime, MeshRenderData::toolsettings, BMesh::totedge, Mesh::totedge, BMesh::totface, BMesh::totloop, Mesh::totloop, Mesh::totpoly, BMesh::totvert, Mesh::totvert, MeshRenderData::tri_len, MeshRenderData::v_origindex, BMesh::vdata, Mesh::vdata, MeshRenderData::vert_crease_ofs, MeshRenderData::vert_len, EditMeshData::vertexCos, EditMeshData::vertexNos, and Mesh_Runtime::wrapper_type.
Referenced by draw_subdiv_create_requested_buffers(), and blender::draw::mesh_buffer_cache_create_requested().
void mesh_render_data_face_flag | ( | const MeshRenderData * | mr, |
const BMFace * | efa, | ||
int | cd_ofs, | ||
EditLoopData * | eattr | ||
) |
Definition at line 92 of file extract_mesh.cc.
References BM_ELEM_CD_GET_VOID_P, BM_elem_flag_test, BM_ELEM_SELECT, MeshRenderData::efa_act, MeshRenderData::efa_act_uv, FreestyleFace::flag, FREESTYLE_FACE_MARK, MeshRenderData::freestyle_face_ofs, MeshRenderData::toolsettings, uvedit_face_select_test_ex(), EditLoopData::v_flag, VFLAG_FACE_ACTIVE, VFLAG_FACE_FREESTYLE, VFLAG_FACE_SELECTED, VFLAG_FACE_UV_ACTIVE, and VFLAG_FACE_UV_SELECT.
Referenced by blender::draw::extract_edit_data_iter_poly_bm(), blender::draw::extract_edit_data_iter_poly_mesh(), blender::draw::extract_edit_data_iter_subdiv_bm(), blender::draw::extract_edituv_data_iter_poly_bm(), blender::draw::extract_edituv_data_iter_subdiv_bm(), blender::draw::extract_fdots_edituv_data_iter_poly_bm(), and blender::draw::extract_fdots_edituv_data_iter_poly_mesh().
void mesh_render_data_free | ( | MeshRenderData * | mr | ) |
Definition at line 598 of file draw_cache_extract_mesh_render_data.cc.
References MeshRenderData::ledges, MeshRenderData::loop_normals, MeshRenderData::lverts, MEM_freeN, MEM_SAFE_FREE, and MeshRenderData::mlooptri.
Referenced by draw_subdiv_create_requested_buffers(), and blender::draw::MeshRenderDataUpdateTaskData::~MeshRenderDataUpdateTaskData().
void mesh_render_data_loop_edge_flag | ( | const MeshRenderData * | mr, |
BMLoop * | l, | ||
int | cd_ofs, | ||
EditLoopData * | eattr | ||
) |
Definition at line 139 of file extract_mesh.cc.
References l, MeshRenderData::toolsettings, uvedit_edge_select_test_ex(), EditLoopData::v_flag, VFLAG_EDGE_UV_SELECT, and VFLAG_VERT_UV_SELECT.
Referenced by blender::draw::extract_edituv_data_iter_poly_bm(), blender::draw::extract_edituv_data_iter_poly_mesh(), and blender::draw::extract_edituv_data_iter_subdiv_bm().
void mesh_render_data_loop_flag | ( | const MeshRenderData * | mr, |
BMLoop * | l, | ||
int | cd_ofs, | ||
EditLoopData * | eattr | ||
) |
Definition at line 122 of file extract_mesh.cc.
References BM_ELEM_CD_GET_VOID_P, MLoopUV::flag, l, MLOOPUV_PINNED, MeshRenderData::toolsettings, uvedit_uv_select_test_ex(), EditLoopData::v_flag, VFLAG_VERT_UV_PINNED, and VFLAG_VERT_UV_SELECT.
Referenced by blender::draw::extract_edituv_data_iter_poly_bm(), blender::draw::extract_edituv_data_iter_poly_mesh(), and blender::draw::extract_edituv_data_iter_subdiv_bm().
void mesh_render_data_update_looptris | ( | MeshRenderData * | mr, |
eMRIterType | iter_type, | ||
eMRDataType | data_flag | ||
) |
Part of the creation of the MeshRenderData that happens in a thread.
Definition at line 327 of file draw_cache_extract_mesh_render_data.cc.
References BKE_mesh_recalc_looptri(), BKE_mesh_recalc_looptri_with_normals(), BLI_assert, MeshRenderData::bm, MeshRenderData::edit_bmesh, MeshRenderData::extract_type, BMEditMesh::looptris, MeshRenderData::me, MEM_mallocN, Mesh::mloop, MeshRenderData::mlooptri, Mesh::mpoly, MR_DATA_LOOPTRI, MR_EXTRACT_BMESH, Mesh::mvert, MeshRenderData::poly_normals, BMesh::totloop, Mesh::totloop, Mesh::totpoly, and MeshRenderData::tri_len.
Referenced by blender::draw::mesh_buffer_cache_create_requested_subdiv(), and blender::draw::mesh_extract_render_data_node_exec().
void mesh_render_data_update_loose_geom | ( | MeshRenderData * | mr, |
MeshBufferCache * | cache, | ||
eMRIterType | iter_type, | ||
eMRDataType | data_flag | ||
) |
Definition at line 148 of file draw_cache_extract_mesh_render_data.cc.
References mesh_render_data_loose_geom_ensure(), mesh_render_data_loose_geom_load(), and MR_DATA_LOOSE_GEOM.
Referenced by blender::draw::mesh_buffer_cache_create_requested_subdiv(), and blender::draw::mesh_extract_render_data_node_exec().
void mesh_render_data_update_normals | ( | MeshRenderData * | mr, |
eMRDataType | data_flag | ||
) |
Definition at line 364 of file draw_cache_extract_mesh_render_data.cc.
References BKE_mesh_normals_loop_split(), BKE_mesh_poly_normals_ensure(), BKE_mesh_vertex_normals_ensure(), MeshRenderData::bm, BM_loops_calc_normal_vcos(), MeshRenderData::bm_poly_normals, MeshRenderData::bm_vert_coords, MeshRenderData::bm_vert_normals, CD_CUSTOMLOOPNORMAL, CustomData_get_layer(), CustomData_get_offset(), MeshRenderData::edge_len, MeshRenderData::edit_data, MeshRenderData::extract_type, Mesh::flag, float(), BMesh::ldata, Mesh::ldata, MeshRenderData::loop_len, MeshRenderData::loop_normals, M_PI, MeshRenderData::me, ME_AUTOSMOOTH, Mesh::medge, MEM_mallocN, Mesh::mloop, Mesh::mpoly, MR_DATA_LOOP_NOR, MR_DATA_POLY_NOR, MR_DATA_TAN_LOOP_NOR, MR_EXTRACT_BMESH, Mesh::mvert, MeshRenderData::poly_len, MeshRenderData::poly_normals, Mesh::smoothresh, MeshRenderData::vert_len, MeshRenderData::vert_normals, and EditMeshData::vertexCos.
Referenced by blender::draw::mesh_buffer_cache_create_requested_subdiv(), and blender::draw::mesh_extract_render_data_node_exec().
void mesh_render_data_update_polys_sorted | ( | MeshRenderData * | mr, |
MeshBufferCache * | cache, | ||
eMRDataType | data_flag | ||
) |
Definition at line 172 of file draw_cache_extract_mesh_render_data.cc.
References mesh_render_data_polys_sorted_ensure(), mesh_render_data_polys_sorted_load(), and MR_DATA_POLYS_SORTED.
Referenced by blender::draw::mesh_extract_render_data_node_exec().
|
extern |
Definition at line 444 of file extract_mesh_vbo_attributes.cc.
|
extern |
Definition at line 306 of file extract_mesh_vbo_edge_fac.cc.
|
extern |
Definition at line 415 of file extract_mesh_vbo_select_idx.cc.
|
extern |
Definition at line 370 of file extract_mesh_vbo_edit_data.cc.
|
extern |
Definition at line 202 of file extract_mesh_vbo_edituv_data.cc.
|
extern |
Definition at line 608 of file extract_mesh_ibo_edituv.cc.
|
extern |
Definition at line 606 of file extract_mesh_ibo_edituv.cc.
|
extern |
Definition at line 607 of file extract_mesh_ibo_edituv.cc.
|
extern |
Definition at line 295 of file extract_mesh_vbo_edituv_stretch_angle.cc.
|
extern |
Definition at line 176 of file extract_mesh_vbo_edituv_stretch_area.cc.
|
extern |
Definition at line 605 of file extract_mesh_ibo_edituv.cc.
|
extern |
Definition at line 417 of file extract_mesh_vbo_select_idx.cc.
|
extern |
Definition at line 98 of file extract_mesh_ibo_fdots.cc.
|
extern |
Definition at line 84 of file extract_mesh_vbo_fdots_edituv_data.cc.
|
extern |
Definition at line 183 of file extract_mesh_vbo_fdots_nor.cc.
Referenced by mesh_extract_override_hq_normals().
|
extern |
Definition at line 184 of file extract_mesh_vbo_fdots_nor.cc.
Referenced by mesh_extract_override_hq_normals().
|
extern |
Definition at line 142 of file extract_mesh_vbo_fdots_pos.cc.
Referenced by blender::draw::mesh_buffer_cache_create_requested_subdiv().
|
extern |
Definition at line 112 of file extract_mesh_vbo_fdots_uv.cc.
|
extern |
Definition at line 357 of file extract_mesh_ibo_lines.cc.
Referenced by blender::draw::mesh_buffer_cache_create_requested(), and blender::draw::mesh_buffer_cache_create_requested_subdiv().
|
extern |
Definition at line 256 of file extract_mesh_ibo_lines_adjacency.cc.
|
extern |
Definition at line 360 of file extract_mesh_ibo_lines.cc.
Referenced by blender::draw::mesh_buffer_cache_create_requested(), and blender::draw::mesh_buffer_cache_create_requested_subdiv().
|
extern |
Definition at line 185 of file extract_mesh_ibo_lines_paint_mask.cc.
|
extern |
Definition at line 358 of file extract_mesh_ibo_lines.cc.
Referenced by blender::draw::mesh_buffer_cache_create_requested(), and blender::draw::mesh_buffer_cache_create_requested_subdiv().
|
extern |
Definition at line 237 of file extract_mesh_vbo_lnor.cc.
Referenced by mesh_extract_override_hq_normals().
|
extern |
Definition at line 238 of file extract_mesh_vbo_lnor.cc.
Referenced by mesh_extract_override_hq_normals().
|
extern |
Definition at line 636 of file extract_mesh_vbo_mesh_analysis.cc.
|
extern |
Definition at line 97 of file extract_mesh_vbo_orco.cc.
|
extern |
Definition at line 325 of file extract_mesh_ibo_points.cc.
|
extern |
Definition at line 414 of file extract_mesh_vbo_select_idx.cc.
|
extern |
Definition at line 555 of file extract_mesh_vbo_pos_nor.cc.
Referenced by blender::draw::mesh_buffer_cache_create_requested_subdiv(), and mesh_extract_override_hq_normals().
|
extern |
Definition at line 556 of file extract_mesh_vbo_pos_nor.cc.
Referenced by mesh_extract_override_hq_normals().
|
extern |
Definition at line 218 of file extract_mesh_vbo_sculpt_data.cc.
|
extern |
Definition at line 75 of file extract_mesh_vbo_skin_roots.cc.
|
extern |
Definition at line 370 of file extract_mesh_vbo_tan.cc.
Referenced by mesh_extract_override_hq_normals().
|
extern |
Definition at line 371 of file extract_mesh_vbo_tan.cc.
Referenced by mesh_extract_override_hq_normals().
|
extern |
Definition at line 246 of file extract_mesh_ibo_tris.cc.
Referenced by mesh_extract_override_single_material().
|
extern |
Definition at line 247 of file extract_mesh_ibo_tris.cc.
Referenced by mesh_extract_override_single_material().
|
extern |
Definition at line 171 of file extract_mesh_vbo_uv.cc.
|
extern |
|
extern |
Definition at line 416 of file extract_mesh_vbo_select_idx.cc.
|
extern |
Definition at line 211 of file extract_mesh_vbo_weights.cc.