|
Blender
V2.93
|
Extraction of Mesh data into VBO to feed to GPU. More...
#include "MEM_guardedalloc.h"#include "BLI_alloca.h"#include "BLI_bitmap.h"#include "BLI_buffer.h"#include "BLI_edgehash.h"#include "BLI_jitter_2d.h"#include "BLI_math_bits.h"#include "BLI_math_vector.h"#include "BLI_string.h"#include "BLI_task.h"#include "BLI_utildefines.h"#include "DNA_mesh_types.h"#include "DNA_meshdata_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "BKE_bvhutils.h"#include "BKE_customdata.h"#include "BKE_deform.h"#include "BKE_editmesh.h"#include "BKE_editmesh_bvh.h"#include "BKE_editmesh_cache.h"#include "BKE_editmesh_tangent.h"#include "BKE_mesh.h"#include "BKE_mesh_runtime.h"#include "BKE_mesh_tangent.h"#include "BKE_modifier.h"#include "BKE_object_deform.h"#include "BKE_paint.h"#include "atomic_ops.h"#include "bmesh.h"#include "GPU_batch.h"#include "GPU_capabilities.h"#include "DRW_render.h"#include "ED_mesh.h"#include "ED_uvedit.h"#include "draw_cache_impl.h"#include "draw_cache_inline.h"#include "draw_cache_extract.h"Go to the source code of this file.
Macros | |
| #define | TEST_ASSIGN(type, type_lowercase, name) |
| #define | EXTRACT(buf, name) |
Functions | |
Extract Loop | |
| static void | extract_range_task_create (struct TaskGraph *task_graph, struct TaskNode *task_node_user_data_init, ExtractTaskData *taskdata, const eMRIterType type, int start, int length) |
| static void | extract_task_create (struct TaskGraph *task_graph, struct TaskNode *task_node_mesh_render_data, struct TaskNode *task_node_user_data_init, ListBase *single_threaded_task_datas, ListBase *user_data_init_task_datas, const Scene *scene, const MeshRenderData *mr, MeshBatchCache *cache, const MeshExtract *extract, void *buf, int32_t *task_counter) |
| void | mesh_buffer_cache_create_requested (struct TaskGraph *task_graph, MeshBatchCache *cache, MeshBufferCache mbc, Mesh *me, const bool is_editmode, const bool is_paint_mode, const bool is_mode_active, const float obmat[4][4], const bool do_final, const bool do_uvedit, const bool use_subsurf_fdots, const DRW_MeshCDMask *cd_layer_used, const Scene *scene, const ToolSettings *ts, const bool use_hide) |
Mesh Elements Extract: Loop Triangles | |
| #define | EXTRACT_TRIS_LOOPTRI_FOREACH_BM_BEGIN(elem_tri, index_tri, params) |
| #define | EXTRACT_TRIS_LOOPTRI_FOREACH_BM_END } |
| #define | EXTRACT_TRIS_LOOPTRI_FOREACH_MESH_BEGIN(elem_tri, index_tri, params) |
| #define | EXTRACT_TRIS_LOOPTRI_FOREACH_MESH_END } |
| typedef struct ExtractTriBMesh_Params | ExtractTriBMesh_Params |
| typedef void() | ExtractTriBMeshFn(const MeshRenderData *mr, const ExtractTriBMesh_Params *params, void *data) |
| typedef struct ExtractTriMesh_Params | ExtractTriMesh_Params |
| typedef void() | ExtractTriMeshFn(const MeshRenderData *mr, const ExtractTriMesh_Params *params, void *data) |
Mesh Elements Extract: Polygons, Loops | |
| #define | EXTRACT_POLY_FOREACH_BM_BEGIN(elem_poly, index_poly, params, mr) |
| #define | EXTRACT_POLY_FOREACH_BM_END |
| #define | EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN(elem_loop, index_loop, params, mr) |
| #define | EXTRACT_POLY_AND_LOOP_FOREACH_BM_END(elem_loop) |
| #define | EXTRACT_POLY_FOREACH_MESH_BEGIN(elem_poly, index_poly, params, mr) |
| #define | EXTRACT_POLY_FOREACH_MESH_END |
| #define | EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN(elem_poly, index_poly, elem_loop, index_loop, params, mr) |
| #define | EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END |
| typedef struct ExtractPolyBMesh_Params | ExtractPolyBMesh_Params |
| typedef void() | ExtractPolyBMeshFn(const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *data) |
| typedef struct ExtractPolyMesh_Params | ExtractPolyMesh_Params |
| typedef void() | ExtractPolyMeshFn(const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *data) |
Mesh Elements Extract: Loose Edges | |
| #define | EXTRACT_LEDGE_FOREACH_BM_BEGIN(elem_edge, index_ledge, params) |
| #define | EXTRACT_LEDGE_FOREACH_BM_END |
| #define | EXTRACT_LEDGE_FOREACH_MESH_BEGIN(elem_edge, index_ledge, params, mr) |
| #define | EXTRACT_LEDGE_FOREACH_MESH_END |
| typedef struct ExtractLEdgeBMesh_Params | ExtractLEdgeBMesh_Params |
| typedef void() | ExtractLEdgeBMeshFn(const MeshRenderData *mr, const ExtractLEdgeBMesh_Params *params, void *data) |
| typedef struct ExtractLEdgeMesh_Params | ExtractLEdgeMesh_Params |
| typedef void() | ExtractLEdgeMeshFn(const MeshRenderData *mr, const ExtractLEdgeMesh_Params *params, void *data) |
Mesh Elements Extract: Loose Vertices | |
| #define | EXTRACT_LVERT_FOREACH_BM_BEGIN(elem_vert, index_lvert, params) |
| #define | EXTRACT_LVERT_FOREACH_BM_END |
| #define | EXTRACT_LVERT_FOREACH_MESH_BEGIN(elem, index_lvert, params, mr) |
| #define | EXTRACT_LVERT_FOREACH_MESH_END |
| typedef struct ExtractLVertBMesh_Params | ExtractLVertBMesh_Params |
| typedef void() | ExtractLVertBMeshFn(const MeshRenderData *mr, const ExtractLVertBMesh_Params *params, void *data) |
| typedef struct ExtractLVertMesh_Params | ExtractLVertMesh_Params |
| typedef void() | ExtractLVertMeshFn(const MeshRenderData *mr, const ExtractLVertMesh_Params *params, void *data) |
Extract Line Adjacency Indices | |
| #define | NO_EDGE INT_MAX |
| typedef struct MeshExtract_LineAdjacency_Data | MeshExtract_LineAdjacency_Data |
| static const MeshExtract | extract_lines_adjacency |
| static void * | extract_lines_adjacency_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *UNUSED(buf)) |
| BLI_INLINE void | lines_adjacency_triangle (uint v1, uint v2, uint v3, uint l1, uint l2, uint l3, MeshExtract_LineAdjacency_Data *data) |
| static void | extract_lines_adjacency_iter_looptri_bm (const MeshRenderData *UNUSED(mr), const struct ExtractTriBMesh_Params *params, void *data) |
| static void | extract_lines_adjacency_iter_looptri_mesh (const MeshRenderData *mr, const struct ExtractTriMesh_Params *params, void *data) |
| static void | extract_lines_adjacency_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *cache, void *ibo, void *_data) |
Extract Facedots Normal and edit flag | |
| #define | NOR_AND_FLAG_DEFAULT 0 |
| #define | NOR_AND_FLAG_SELECT 1 |
| #define | NOR_AND_FLAG_ACTIVE -1 |
| #define | NOR_AND_FLAG_HIDDEN -2 |
| static const MeshExtract | extract_fdots_nor |
| static void * | extract_fdots_nor_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| static void | extract_fdots_nor_finish (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf, void *UNUSED(data)) |
ExtractTaskData | |
| enum | ExtractTaskDataType { EXTRACT_MESH_EXTRACT , EXTRACT_LINES_LOOSE } |
| typedef struct ExtractUserData | ExtractUserData |
| typedef enum ExtractTaskDataType | ExtractTaskDataType |
| typedef struct ExtractTaskData | ExtractTaskData |
| static ExtractTaskData * | extract_task_data_create_mesh_extract (const MeshRenderData *mr, struct MeshBatchCache *cache, const MeshExtract *extract, void *buf, int32_t *task_counter) |
| static ExtractTaskData * | extract_task_data_create_lines_loose (const MeshRenderData *mr, struct MeshBatchCache *cache) |
| static void | extract_task_data_free (void *data) |
| BLI_INLINE void | mesh_extract_iter (const MeshRenderData *mr, const eMRIterType iter_type, int start, int end, const MeshExtract *extract, void *user_data) |
| static void | extract_init (ExtractTaskData *data) |
| static void | extract_run (void *__restrict taskdata) |
| static void | extract_init_and_run (void *__restrict taskdata) |
Mesh/BMesh Interface (indirect, partially cached access to complex data). | |
| typedef struct MeshRenderData | MeshRenderData |
| static void | mesh_render_data_update_loose_geom (MeshRenderData *mr, const eMRIterType iter_type, const eMRDataType UNUSED(data_flag)) |
| static void | mesh_render_data_update_looptris (MeshRenderData *mr, const eMRIterType iter_type, const eMRDataType data_flag) |
| static void | mesh_render_data_update_normals (MeshRenderData *mr, const eMRIterType UNUSED(iter_type), const eMRDataType data_flag) |
| static MeshRenderData * | mesh_render_data_create (Mesh *me, const bool is_editmode, const bool is_paint_mode, const bool is_mode_active, const float obmat[4][4], const bool do_final, const bool do_uvedit, const DRW_MeshCDMask *UNUSED(cd_used), const ToolSettings *ts, const eMRIterType iter_type, const eMRDataType data_flag) |
| static void | mesh_render_data_free (MeshRenderData *mr) |
| 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) |
Mesh Elements Extract Struct | |
| typedef void *() | ExtractInitFn(const MeshRenderData *mr, struct MeshBatchCache *cache, void *buffer) |
| typedef void() | ExtractFinishFn(const MeshRenderData *mr, struct MeshBatchCache *cache, void *buffer, void *data) |
| typedef struct MeshExtract | MeshExtract |
| BLI_INLINE eMRIterType | mesh_extract_iter_type (const MeshExtract *ext) |
Extract Triangles Indices | |
| typedef struct MeshExtract_Tri_Data | MeshExtract_Tri_Data |
| static const MeshExtract | extract_tris |
| static void * | extract_tris_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *UNUSED(ibo)) |
| static void | extract_tris_iter_looptri_bm (const MeshRenderData *mr, const struct ExtractTriBMesh_Params *params, void *_data) |
| static void | extract_tris_iter_looptri_mesh (const MeshRenderData *mr, const struct ExtractTriMesh_Params *params, void *_data) |
| static void | extract_tris_finish (const MeshRenderData *mr, struct MeshBatchCache *cache, void *ibo, void *_data) |
Extract Paint Mask Line Indices | |
| typedef struct MeshExtract_LinePaintMask_Data | MeshExtract_LinePaintMask_Data |
| static const MeshExtract | extract_lines_paint_mask |
| static void * | extract_lines_paint_mask_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *UNUSED(buf)) |
| static void | extract_lines_paint_mask_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *_data) |
| static void | extract_lines_paint_mask_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *ibo, void *_data) |
Extract Edit UV Triangles Indices | |
| typedef struct MeshExtract_EditUvElem_Data | MeshExtract_EditUvElem_Data |
| static const MeshExtract | extract_edituv_tris |
| static void * | extract_edituv_tris_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *UNUSED(ibo)) |
| BLI_INLINE void | edituv_tri_add (MeshExtract_EditUvElem_Data *data, bool hidden, bool selected, int v1, int v2, int v3) |
| static void | extract_edituv_tris_iter_looptri_bm (const MeshRenderData *UNUSED(mr), const struct ExtractTriBMesh_Params *params, void *data) |
| static void | extract_edituv_tris_iter_looptri_mesh (const MeshRenderData *mr, const struct ExtractTriMesh_Params *params, void *data) |
| static void | extract_edituv_tris_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *ibo, void *data) |
Extract HQ Loop Normal | |
| typedef struct gpuHQNor | gpuHQNor |
| static const MeshExtract | extract_lnor_hq |
| static void * | extract_lnor_hq_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| static void | extract_lnor_hq_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *data) |
| static void | extract_lnor_hq_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *data) |
Extract Orco | |
| typedef struct MeshExtract_Orco_Data | MeshExtract_Orco_Data |
| static const MeshExtract | extract_orco |
| static void * | extract_orco_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| static void | extract_orco_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *data) |
| static void | extract_orco_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *data) |
| static void | extract_orco_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *UNUSED(buf), void *data) |
Extract Edge Factor | |
| typedef struct MeshExtract_EdgeFac_Data | MeshExtract_EdgeFac_Data |
| static const MeshExtract | extract_edge_fac |
| static float | loop_edge_factor_get (const float f_no[3], const float v_co[3], const float v_no[3], const float v_next_co[3]) |
| static void * | extract_edge_fac_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| static void | extract_edge_fac_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *_data) |
| static void | extract_edge_fac_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *_data) |
| static void | extract_edge_fac_iter_ledge_bm (const MeshRenderData *mr, const ExtractLEdgeBMesh_Params *params, void *_data) |
| static void | extract_edge_fac_iter_ledge_mesh (const MeshRenderData *mr, const ExtractLEdgeMesh_Params *params, void *_data) |
| static void | extract_edge_fac_finish (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf, void *_data) |
Extract Vertex Weight | |
| typedef struct MeshExtract_Weight_Data | MeshExtract_Weight_Data |
| static const MeshExtract | extract_weights |
| static float | evaluate_vertex_weight (const MDeformVert *dvert, const DRW_MeshWeightState *wstate) |
| static void * | extract_weights_init (const MeshRenderData *mr, struct MeshBatchCache *cache, void *buf) |
| static void | extract_weights_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *_data) |
| static void | extract_weights_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *_data) |
| static void | extract_weights_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *UNUSED(buf), void *data) |
Extract Edit UV Data / Flags | |
| typedef struct MeshExtract_EditUVData_Data | MeshExtract_EditUVData_Data |
| static const MeshExtract | extract_edituv_data |
| static void * | extract_edituv_data_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| static void | extract_edituv_data_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *_data) |
| static void | extract_edituv_data_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *_data) |
| static void | extract_edituv_data_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *UNUSED(buf), void *data) |
Extract Facedots UV | |
| typedef struct MeshExtract_FdotUV_Data | MeshExtract_FdotUV_Data |
| static const MeshExtract | extract_fdots_uv |
| static void * | extract_fdots_uv_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| static void | extract_fdots_uv_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *_data) |
| static void | extract_fdots_uv_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *_data) |
| static void | extract_fdots_uv_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *UNUSED(buf), void *data) |
Extract Facedots Edit UV flag | |
| typedef struct MeshExtract_EditUVFdotData_Data | MeshExtract_EditUVFdotData_Data |
| static const MeshExtract | extract_fdots_edituv_data |
| static void * | extract_fdots_edituv_data_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| static void | extract_fdots_edituv_data_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *_data) |
| static void | extract_fdots_edituv_data_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *_data) |
| static void | extract_fdots_edituv_data_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *UNUSED(buf), void *data) |
Extract Skin Modifier Roots | |
| typedef struct SkinRootData | SkinRootData |
| static const MeshExtract | extract_skin_roots |
| static void * | extract_skin_roots_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
Task Node - Update Mesh Render Data | |
| typedef struct MeshRenderDataUpdateTaskData | MeshRenderDataUpdateTaskData |
| static void | mesh_render_data_update_task_data_free (MeshRenderDataUpdateTaskData *taskdata) |
| static void | mesh_extract_render_data_node_exec (void *__restrict task_data) |
| static struct TaskNode * | mesh_extract_render_data_node_create (struct TaskGraph *task_graph, MeshRenderData *mr, const eMRIterType iter_type, const eMRDataType data_flag) |
Task Node - Extract Single Threaded | |
| typedef struct ExtractSingleThreadedTaskData | ExtractSingleThreadedTaskData |
| static void | extract_single_threaded_task_data_free (ExtractSingleThreadedTaskData *taskdata) |
| static void | extract_single_threaded_task_node_exec (void *__restrict task_data) |
| static struct TaskNode * | extract_single_threaded_task_node_create (struct TaskGraph *task_graph, ExtractSingleThreadedTaskData *task_data) |
Task Node - UserData Initializer | |
| typedef struct UserDataInitTaskData | UserDataInitTaskData |
| static void | user_data_init_task_data_free (UserDataInitTaskData *taskdata) |
| static void | user_data_init_task_data_exec (void *__restrict task_data) |
| static struct TaskNode * | user_data_init_task_node_create (struct TaskGraph *task_graph, UserDataInitTaskData *task_data) |
Extract Edges Indices | |
| static const MeshExtract | extract_lines |
| static void * | extract_lines_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *UNUSED(buf)) |
| static void | extract_lines_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *elb) |
| static void | extract_lines_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *elb) |
| static void | extract_lines_iter_ledge_bm (const MeshRenderData *mr, const ExtractLEdgeBMesh_Params *params, void *elb) |
| static void | extract_lines_iter_ledge_mesh (const MeshRenderData *mr, const ExtractLEdgeMesh_Params *params, void *elb) |
| static void | extract_lines_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *ibo, void *elb) |
Extract Loose Edges Sub Buffer | |
| static const MeshExtract | extract_lines_with_lines_loose |
| static void | extract_lines_loose_subbuffer (const MeshRenderData *mr, struct MeshBatchCache *cache) |
| static void | extract_lines_with_lines_loose_finish (const MeshRenderData *mr, struct MeshBatchCache *cache, void *ibo, void *elb) |
Extract Facedots Indices | |
| static const MeshExtract | extract_fdots |
| static void * | extract_fdots_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *UNUSED(buf)) |
| static void | extract_fdots_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *elb) |
| static void | extract_fdots_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *elb) |
| static void | extract_fdots_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *ibo, void *elb) |
Extract Edit UV Line Indices around faces | |
| static const MeshExtract | extract_edituv_lines |
| static void * | extract_edituv_lines_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *UNUSED(ibo)) |
| BLI_INLINE void | edituv_edge_add (MeshExtract_EditUvElem_Data *data, bool hidden, bool selected, int v1, int v2) |
| static void | extract_edituv_lines_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *data) |
| static void | extract_edituv_lines_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *data) |
| static void | extract_edituv_lines_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *ibo, void *data) |
Extract Edit UV Points Indices | |
| static const MeshExtract | extract_edituv_points |
| static void * | extract_edituv_points_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *UNUSED(ibo)) |
| BLI_INLINE void | edituv_point_add (MeshExtract_EditUvElem_Data *data, bool hidden, bool selected, int v1) |
| static void | extract_edituv_points_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *data) |
| static void | extract_edituv_points_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *data) |
| static void | extract_edituv_points_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *ibo, void *data) |
Extract Edit UV Facedots Indices | |
| static const MeshExtract | extract_edituv_fdots |
| static void * | extract_edituv_fdots_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *UNUSED(ibo)) |
| BLI_INLINE void | edituv_facedot_add (MeshExtract_EditUvElem_Data *data, bool hidden, bool selected, int face_index) |
| static void | extract_edituv_fdots_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *data) |
| static void | extract_edituv_fdots_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *data) |
| static void | extract_edituv_fdots_finish (const MeshRenderData *UNUSED(mr), struct MeshBatchCache *UNUSED(cache), void *ibo, void *_data) |
Extract Loop Normal | |
| static const MeshExtract | extract_lnor |
| static void * | extract_lnor_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| static void | extract_lnor_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *data) |
| static void | extract_lnor_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *data) |
Extract UV layers | |
| static const MeshExtract | extract_uv |
| static void * | extract_uv_init (const MeshRenderData *mr, struct MeshBatchCache *cache, void *buf) |
Extract Tangent layers | |
| static const MeshExtract | extract_tan |
| static void | extract_tan_ex (const MeshRenderData *mr, struct MeshBatchCache *cache, GPUVertBuf *vbo, const bool do_hq) |
| static void * | extract_tan_init (const MeshRenderData *mr, struct MeshBatchCache *cache, void *buf) |
Extract HQ Tangent layers | |
| static const MeshExtract | extract_tan_hq |
| static void * | extract_tan_hq_init (const MeshRenderData *mr, struct MeshBatchCache *cache, void *buf) |
Extract Sculpt Data | |
| static const MeshExtract | extract_sculpt_data |
| static void * | extract_sculpt_data_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
Extract VCol | |
| static const MeshExtract | extract_vcol |
| static void * | extract_vcol_init (const MeshRenderData *mr, struct MeshBatchCache *cache, void *buf) |
Extract Edit UV area stretch | |
| static const MeshExtract | extract_edituv_stretch_area |
| static void * | extract_edituv_stretch_area_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| BLI_INLINE float | area_ratio_get (float area, float uvarea) |
| BLI_INLINE float | area_ratio_to_stretch (float ratio, float tot_ratio, float inv_tot_ratio) |
| static void | mesh_edituv_stretch_area_finish (const MeshRenderData *mr, struct MeshBatchCache *cache, void *buf, void *UNUSED(data)) |
Extract Facedots positions | |
| static const MeshExtract | extract_fdots_pos |
| static void * | extract_fdots_pos_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| static void | extract_fdots_pos_iter_poly_bm (const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *data) |
| static void | extract_fdots_pos_iter_poly_mesh (const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *data) |
Extract Facedots High Quality Normal and edit flag | |
| static const MeshExtract | extract_fdots_nor_hq |
| static void * | extract_fdots_nor_hq_init (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf) |
| static void | extract_fdots_nor_hq_finish (const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *buf, void *UNUSED(data)) |
Extraction of Mesh data into VBO to feed to GPU.
Definition in file draw_cache_extract_mesh.c.
| #define EXTRACT | ( | buf, | |
| name | |||
| ) |
| #define EXTRACT_LEDGE_FOREACH_BM_BEGIN | ( | elem_edge, | |
| index_ledge, | |||
| params | |||
| ) |
Definition at line 657 of file draw_cache_extract_mesh.c.
| #define EXTRACT_LEDGE_FOREACH_BM_END |
Definition at line 669 of file draw_cache_extract_mesh.c.
| #define EXTRACT_LEDGE_FOREACH_MESH_BEGIN | ( | elem_edge, | |
| index_ledge, | |||
| params, | |||
| mr | |||
| ) |
Definition at line 682 of file draw_cache_extract_mesh.c.
| #define EXTRACT_LEDGE_FOREACH_MESH_END |
Definition at line 693 of file draw_cache_extract_mesh.c.
| #define EXTRACT_LVERT_FOREACH_BM_BEGIN | ( | elem_vert, | |
| index_lvert, | |||
| params | |||
| ) |
Definition at line 712 of file draw_cache_extract_mesh.c.
| #define EXTRACT_LVERT_FOREACH_BM_END |
Definition at line 724 of file draw_cache_extract_mesh.c.
| #define EXTRACT_LVERT_FOREACH_MESH_BEGIN | ( | elem, | |
| index_lvert, | |||
| params, | |||
| mr | |||
| ) |
Definition at line 737 of file draw_cache_extract_mesh.c.
| #define EXTRACT_LVERT_FOREACH_MESH_END |
Definition at line 748 of file draw_cache_extract_mesh.c.
| #define EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN | ( | elem_loop, | |
| index_loop, | |||
| params, | |||
| mr | |||
| ) |
Definition at line 579 of file draw_cache_extract_mesh.c.
| #define EXTRACT_POLY_AND_LOOP_FOREACH_BM_END | ( | elem_loop | ) |
Definition at line 594 of file draw_cache_extract_mesh.c.
| #define EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN | ( | elem_poly, | |
| index_poly, | |||
| elem_loop, | |||
| index_loop, | |||
| params, | |||
| mr | |||
| ) |
Definition at line 623 of file draw_cache_extract_mesh.c.
| #define EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END |
Definition at line 638 of file draw_cache_extract_mesh.c.
| #define EXTRACT_POLY_FOREACH_BM_BEGIN | ( | elem_poly, | |
| index_poly, | |||
| params, | |||
| mr | |||
| ) |
Definition at line 563 of file draw_cache_extract_mesh.c.
| #define EXTRACT_POLY_FOREACH_BM_END |
Definition at line 574 of file draw_cache_extract_mesh.c.
| #define EXTRACT_POLY_FOREACH_MESH_BEGIN | ( | elem_poly, | |
| index_poly, | |||
| params, | |||
| mr | |||
| ) |
Definition at line 608 of file draw_cache_extract_mesh.c.
| #define EXTRACT_POLY_FOREACH_MESH_END |
Definition at line 618 of file draw_cache_extract_mesh.c.
| #define EXTRACT_TRIS_LOOPTRI_FOREACH_BM_BEGIN | ( | elem_tri, | |
| index_tri, | |||
| params | |||
| ) |
Definition at line 523 of file draw_cache_extract_mesh.c.
| #define EXTRACT_TRIS_LOOPTRI_FOREACH_BM_END } |
Definition at line 530 of file draw_cache_extract_mesh.c.
| #define EXTRACT_TRIS_LOOPTRI_FOREACH_MESH_BEGIN | ( | elem_tri, | |
| index_tri, | |||
| params | |||
| ) |
Definition at line 540 of file draw_cache_extract_mesh.c.
| #define EXTRACT_TRIS_LOOPTRI_FOREACH_MESH_END } |
Definition at line 547 of file draw_cache_extract_mesh.c.
| #define NO_EDGE INT_MAX |
Definition at line 1420 of file draw_cache_extract_mesh.c.
| #define NOR_AND_FLAG_ACTIVE -1 |
Definition at line 4857 of file draw_cache_extract_mesh.c.
| #define NOR_AND_FLAG_DEFAULT 0 |
Definition at line 4855 of file draw_cache_extract_mesh.c.
| #define NOR_AND_FLAG_HIDDEN -2 |
Definition at line 4858 of file draw_cache_extract_mesh.c.
| #define NOR_AND_FLAG_SELECT 1 |
Definition at line 4856 of file draw_cache_extract_mesh.c.
| #define TEST_ASSIGN | ( | type, | |
| type_lowercase, | |||
| name | |||
| ) |
| typedef struct EditLoopData EditLoopData |
| typedef void() ExtractFinishFn(const MeshRenderData *mr, struct MeshBatchCache *cache, void *buffer, void *data) |
Definition at line 762 of file draw_cache_extract_mesh.c.
| typedef void*() ExtractInitFn(const MeshRenderData *mr, struct MeshBatchCache *cache, void *buffer) |
Definition at line 759 of file draw_cache_extract_mesh.c.
| typedef struct ExtractLEdgeBMesh_Params ExtractLEdgeBMesh_Params |
| typedef void() ExtractLEdgeBMeshFn(const MeshRenderData *mr, const ExtractLEdgeBMesh_Params *params, void *data) |
Definition at line 653 of file draw_cache_extract_mesh.c.
| typedef struct ExtractLEdgeMesh_Params ExtractLEdgeMesh_Params |
| typedef void() ExtractLEdgeMeshFn(const MeshRenderData *mr, const ExtractLEdgeMesh_Params *params, void *data) |
Definition at line 678 of file draw_cache_extract_mesh.c.
| typedef struct ExtractLVertBMesh_Params ExtractLVertBMesh_Params |
| typedef void() ExtractLVertBMeshFn(const MeshRenderData *mr, const ExtractLVertBMesh_Params *params, void *data) |
Definition at line 708 of file draw_cache_extract_mesh.c.
| typedef struct ExtractLVertMesh_Params ExtractLVertMesh_Params |
| typedef void() ExtractLVertMeshFn(const MeshRenderData *mr, const ExtractLVertMesh_Params *params, void *data) |
Definition at line 733 of file draw_cache_extract_mesh.c.
| typedef struct ExtractPolyBMesh_Params ExtractPolyBMesh_Params |
| typedef void() ExtractPolyBMeshFn(const MeshRenderData *mr, const ExtractPolyBMesh_Params *params, void *data) |
Definition at line 559 of file draw_cache_extract_mesh.c.
| typedef struct ExtractPolyMesh_Params ExtractPolyMesh_Params |
| typedef void() ExtractPolyMeshFn(const MeshRenderData *mr, const ExtractPolyMesh_Params *params, void *data) |
Definition at line 604 of file draw_cache_extract_mesh.c.
| typedef struct ExtractSingleThreadedTaskData ExtractSingleThreadedTaskData |
| typedef struct ExtractTaskData ExtractTaskData |
| typedef enum ExtractTaskDataType ExtractTaskDataType |
| typedef struct ExtractTriBMesh_Params ExtractTriBMesh_Params |
| typedef void() ExtractTriBMeshFn(const MeshRenderData *mr, const ExtractTriBMesh_Params *params, void *data) |
Definition at line 519 of file draw_cache_extract_mesh.c.
| typedef struct ExtractTriMesh_Params ExtractTriMesh_Params |
| typedef void() ExtractTriMeshFn(const MeshRenderData *mr, const ExtractTriMesh_Params *params, void *data) |
Definition at line 536 of file draw_cache_extract_mesh.c.
| typedef struct ExtractUserData ExtractUserData |
| typedef struct MeshExtract MeshExtract |
| typedef struct MeshExtract_EdgeFac_Data MeshExtract_EdgeFac_Data |
| typedef struct MeshExtract_EditUVData_Data MeshExtract_EditUVData_Data |
| typedef struct MeshExtract_EditUvElem_Data MeshExtract_EditUvElem_Data |
| typedef struct MeshExtract_EditUVFdotData_Data MeshExtract_EditUVFdotData_Data |
| typedef struct MeshExtract_FdotUV_Data MeshExtract_FdotUV_Data |
| typedef struct MeshExtract_LineAdjacency_Data MeshExtract_LineAdjacency_Data |
| typedef struct MeshExtract_LinePaintMask_Data MeshExtract_LinePaintMask_Data |
| typedef struct MeshExtract_Orco_Data MeshExtract_Orco_Data |
| typedef struct MeshExtract_PosNor_Data MeshExtract_PosNor_Data |
| typedef struct MeshExtract_PosNorHQ_Data MeshExtract_PosNorHQ_Data |
| typedef struct MeshExtract_StretchAngle_Data MeshExtract_StretchAngle_Data |
| typedef struct MeshExtract_Tri_Data MeshExtract_Tri_Data |
| typedef struct MeshExtract_Weight_Data MeshExtract_Weight_Data |
| typedef struct MeshRenderData MeshRenderData |
| typedef struct MeshRenderDataUpdateTaskData MeshRenderDataUpdateTaskData |
| typedef struct PosNorHQLoop PosNorHQLoop |
| typedef struct PosNorLoop PosNorLoop |
| typedef struct SkinRootData SkinRootData |
| typedef struct UserDataInitTaskData UserDataInitTaskData |
| typedef struct UVStretchAngle UVStretchAngle |
| enum ExtractTaskDataType |
| Enumerator | |
|---|---|
| EXTRACT_MESH_EXTRACT | |
| EXTRACT_LINES_LOOSE | |
Definition at line 5500 of file draw_cache_extract_mesh.c.
| BLI_INLINE float area_ratio_get | ( | float | area, |
| float | uvarea | ||
| ) |
Definition at line 3868 of file draw_cache_extract_mesh.c.
References blender::compositor::area().
Referenced by mesh_edituv_stretch_area_finish().
| BLI_INLINE float area_ratio_to_stretch | ( | float | ratio, |
| float | tot_ratio, | ||
| float | inv_tot_ratio | ||
| ) |
Definition at line 3877 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 4181 of file draw_cache_extract_mesh.c.
Referenced by statvis_calc_overhang().
| BLI_INLINE const float* bm_face_no_get | ( | const MeshRenderData * | mr, |
| const BMFace * | efa | ||
| ) |
Definition at line 498 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, MeshRenderData::bm_poly_normals, float(), BMFace::no, NULL, and UNUSED_VARS.
Referenced by extract_edge_fac_iter_poly_bm(), extract_fdots_nor_finish(), extract_fdots_nor_hq_finish(), extract_lnor_hq_iter_poly_bm(), extract_lnor_iter_poly_bm(), statvis_calc_overhang(), and statvis_calc_thickness().
| BLI_INLINE BMEdge* bm_original_edge_get | ( | const MeshRenderData * | mr, |
| int | idx | ||
| ) |
Definition at line 462 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, BM_edge_at_index(), MeshRenderData::e_origindex, NULL, and ORIGINDEX_NONE.
Referenced by extract_edit_data_iter_ledge_mesh(), extract_edit_data_iter_poly_mesh(), and extract_edituv_data_iter_poly_mesh().
| BLI_INLINE BMFace* bm_original_face_get | ( | const MeshRenderData * | mr, |
| int | idx | ||
| ) |
Definition at line 455 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, BM_face_at_index(), NULL, ORIGINDEX_NONE, and MeshRenderData::p_origindex.
Referenced by extract_edit_data_iter_poly_mesh(), extract_edituv_data_iter_poly_mesh(), extract_fdots_edituv_data_iter_poly_mesh(), extract_fdots_nor_finish(), and extract_fdots_nor_hq_finish().
| BLI_INLINE BMVert* bm_original_vert_get | ( | const MeshRenderData * | mr, |
| int | idx | ||
| ) |
Definition at line 469 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, BM_vert_at_index(), NULL, ORIGINDEX_NONE, and MeshRenderData::v_origindex.
Referenced by extract_edit_data_iter_ledge_mesh(), extract_edit_data_iter_lvert_mesh(), extract_edit_data_iter_poly_mesh(), and extract_edituv_data_iter_poly_mesh().
| BLI_INLINE const float* bm_vert_co_get | ( | const MeshRenderData * | mr, |
| const BMVert * | eve | ||
| ) |
Definition at line 476 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, MeshRenderData::bm_vert_coords, BMVert::co, float(), NULL, and UNUSED_VARS.
Referenced by extract_edge_fac_iter_poly_bm(), extract_edituv_stretch_angle_iter_poly_bm(), extract_fdots_pos_iter_poly_bm(), extract_pos_nor_hq_iter_ledge_bm(), extract_pos_nor_hq_iter_lvert_bm(), extract_pos_nor_hq_iter_poly_bm(), extract_pos_nor_iter_ledge_bm(), extract_pos_nor_iter_lvert_bm(), extract_pos_nor_iter_poly_bm(), extract_skin_roots_init(), and statvis_calc_thickness().
| BLI_INLINE const float* bm_vert_no_get | ( | const MeshRenderData * | mr, |
| const BMVert * | eve | ||
| ) |
Definition at line 487 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, MeshRenderData::bm_vert_normals, float(), BMVert::no, NULL, and UNUSED_VARS.
Referenced by extract_edge_fac_iter_poly_bm(), extract_lnor_hq_iter_poly_bm(), extract_lnor_iter_poly_bm(), extract_pos_nor_hq_init(), and extract_pos_nor_init().
|
static |
Definition at line 4408 of file draw_cache_extract_mesh.c.
References MVert::co, data, ELEM, isect_tri_tri_v3(), len_squared_v3v3(), BVHTree_OverlapData::me, Mesh::mloop, Mesh::mvert, MLoopTri::poly, MLoopTri::tri, UNLIKELY, UNPACK3, and MLoop::v.
Referenced by statvis_calc_intersect().
|
static |
Definition at line 3981 of file draw_cache_extract_mesh.c.
References copy_v2_v2(), copy_v3_v3(), normalize_v2(), normalize_v3(), sub_v2_v2v2(), and sub_v3_v3v3().
Referenced by extract_edituv_stretch_angle_iter_poly_bm(), and extract_edituv_stretch_angle_iter_poly_mesh().
Definition at line 4508 of file draw_cache_extract_mesh.c.
Referenced by statvis_calc_distort().
| BLI_INLINE void edituv_edge_add | ( | MeshExtract_EditUvElem_Data * | data, |
| bool | hidden, | ||
| bool | selected, | ||
| int | v1, | ||
| int | v2 | ||
| ) |
Definition at line 1669 of file draw_cache_extract_mesh.c.
References data, GPU_indexbuf_add_line_verts(), v1, and v2.
Referenced by extract_edituv_lines_iter_poly_bm(), and extract_edituv_lines_iter_poly_mesh().
| BLI_INLINE void edituv_facedot_add | ( | MeshExtract_EditUvElem_Data * | data, |
| bool | hidden, | ||
| bool | selected, | ||
| int | face_index | ||
| ) |
Definition at line 1820 of file draw_cache_extract_mesh.c.
References data, GPU_indexbuf_set_point_restart(), and GPU_indexbuf_set_point_vert().
Referenced by extract_edituv_fdots_iter_poly_bm(), and extract_edituv_fdots_iter_poly_mesh().
|
static |
Definition at line 4004 of file draw_cache_extract_mesh.c.
References UVStretchAngle::angle, angle_normalized_v2v2(), angle_normalized_v3v3(), fabsf, float(), M_1_PI, M_PI, pow2f(), UVStretchAngle::uv_angles, and v2_to_short_angle().
Referenced by extract_edituv_stretch_angle_iter_poly_bm(), and extract_edituv_stretch_angle_iter_poly_mesh().
| BLI_INLINE void edituv_point_add | ( | MeshExtract_EditUvElem_Data * | data, |
| bool | hidden, | ||
| bool | selected, | ||
| int | v1 | ||
| ) |
Definition at line 1746 of file draw_cache_extract_mesh.c.
References data, GPU_indexbuf_add_point_vert(), and v1.
Referenced by extract_edituv_points_iter_poly_bm(), and extract_edituv_points_iter_poly_mesh().
| BLI_INLINE void edituv_tri_add | ( | MeshExtract_EditUvElem_Data * | data, |
| bool | hidden, | ||
| bool | selected, | ||
| int | v1, | ||
| int | v2, | ||
| int | v3 | ||
| ) |
Definition at line 1592 of file draw_cache_extract_mesh.c.
References data, GPU_indexbuf_add_tri_verts(), v1, and v2.
Referenced by extract_edituv_tris_iter_looptri_bm(), and extract_edituv_tris_iter_looptri_mesh().
|
static |
Definition at line 3307 of file draw_cache_extract_mesh.c.
References DRW_MeshWeightState::alert_mode, BKE_defvert_find_weight(), BKE_defvert_is_weight_zero(), BKE_defvert_lock_relative_weight(), BKE_defvert_multipaint_collective_weight(), CLAMP, DRW_MeshWeightState::defgroup_active, DRW_MeshWeightState::defgroup_len, DRW_MeshWeightState::defgroup_locked, DRW_MeshWeightState::defgroup_sel, DRW_MeshWeightState::defgroup_sel_count, DRW_MeshWeightState::defgroup_unlocked, DRW_MESH_WEIGHT_STATE_AUTO_NORMALIZE, DRW_MESH_WEIGHT_STATE_LOCK_RELATIVE, DRW_MESH_WEIGHT_STATE_MULTIPAINT, DRW_MeshWeightState::flags, NULL, OB_DRAW_GROUPUSER_ACTIVE, OB_DRAW_GROUPUSER_ALL, and OB_DRAW_GROUPUSER_NONE.
Referenced by extract_weights_iter_poly_bm(), and extract_weights_iter_poly_mesh().
|
static |
Definition at line 3250 of file draw_cache_extract_mesh.c.
References data, GPU_COMP_F32, GPU_crappy_amd_driver(), GPU_FETCH_FLOAT, GPU_vertbuf_clear(), GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertbuf_steal_data(), GPU_vertformat_attr_add(), MeshRenderData::loop_len, MeshRenderData::loop_loose_len, and MEM_freeN.
|
static |
Definition at line 3123 of file draw_cache_extract_mesh.c.
References data, MeshRenderData::edge_len, MeshRenderData::extract_type, MEdge::flag, GPU_COMP_U8, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), MeshRenderData::loop_len, MeshRenderData::loop_loose_len, ME_EDGERENDER, MeshRenderData::medge, MEM_callocN, and MR_EXTRACT_MESH.
|
static |
Definition at line 3224 of file draw_cache_extract_mesh.c.
References data, EXTRACT_LEDGE_FOREACH_BM_BEGIN, EXTRACT_LEDGE_FOREACH_BM_END, MeshRenderData::loop_len, and params.
|
static |
Definition at line 3237 of file draw_cache_extract_mesh.c.
References data, EXTRACT_LEDGE_FOREACH_MESH_BEGIN, EXTRACT_LEDGE_FOREACH_MESH_END, MeshRenderData::loop_len, and params.
|
static |
Definition at line 3161 of file draw_cache_extract_mesh.c.
References BM_edge_is_manifold(), bm_face_no_get(), bm_vert_co_get(), bm_vert_no_get(), data, BMLoop::e, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, l, loop_edge_factor_get(), BMLoop::next, params, and BMLoop::v.
|
static |
Definition at line 3182 of file draw_cache_extract_mesh.c.
References BMVert::co, data, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, MEdge::flag, loop_edge_factor_get(), ME_EDGERENDER, MeshRenderData::medge, MeshRenderData::mloop, MeshRenderData::mvert, normal_short_to_float_v3(), params, MeshRenderData::poly_normals, MLoop::v, v1, and v2.
|
static |
Definition at line 5296 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, data, EXTRACT_LEDGE_FOREACH_BM_BEGIN, EXTRACT_LEDGE_FOREACH_BM_END, MeshRenderData::loop_len, and params.
|
static |
Definition at line 5365 of file draw_cache_extract_mesh.c.
References data, MeshRenderData::e_origindex, EXTRACT_LEDGE_FOREACH_MESH_BEGIN, EXTRACT_LEDGE_FOREACH_MESH_END, MeshRenderData::ledges, MeshRenderData::loop_len, and params.
|
static |
Definition at line 5274 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, data, BMLoop::e, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, l, and params.
|
static |
Definition at line 5343 of file draw_cache_extract_mesh.c.
References data, MeshRenderData::e_origindex, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, and params.
|
static |
Definition at line 3598 of file draw_cache_extract_mesh.c.
References GPU_COMP_U8, GPU_FETCH_INT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), MeshRenderData::loop_len, and MeshRenderData::loop_loose_len.
|
static |
Definition at line 3654 of file draw_cache_extract_mesh.c.
References data, EXTRACT_LEDGE_FOREACH_BM_BEGIN, EXTRACT_LEDGE_FOREACH_BM_END, MeshRenderData::loop_len, mesh_render_data_edge_flag(), mesh_render_data_vert_flag(), and params.
|
static |
Definition at line 3670 of file draw_cache_extract_mesh.c.
References bm_original_edge_get(), bm_original_vert_get(), data, EXTRACT_LEDGE_FOREACH_MESH_BEGIN, EXTRACT_LEDGE_FOREACH_MESH_END, MeshRenderData::ledges, MeshRenderData::loop_len, mesh_render_data_edge_flag(), mesh_render_data_vert_flag(), and params.
|
static |
Definition at line 3696 of file draw_cache_extract_mesh.c.
References data, MeshRenderData::edge_loose_len, EXTRACT_LVERT_FOREACH_BM_BEGIN, EXTRACT_LVERT_FOREACH_BM_END, MeshRenderData::loop_len, mesh_render_data_vert_flag(), and params.
|
static |
Definition at line 3710 of file draw_cache_extract_mesh.c.
References bm_original_vert_get(), data, MeshRenderData::edge_loose_len, EXTRACT_LVERT_FOREACH_MESH_BEGIN, EXTRACT_LVERT_FOREACH_MESH_END, MeshRenderData::loop_len, MeshRenderData::lverts, mesh_render_data_vert_flag(), and params.
|
static |
Definition at line 3614 of file draw_cache_extract_mesh.c.
References data, BMLoop::e, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, l, mesh_render_data_edge_flag(), mesh_render_data_face_flag(), mesh_render_data_vert_flag(), params, and BMLoop::v.
|
static |
Definition at line 3630 of file draw_cache_extract_mesh.c.
References bm_original_edge_get(), bm_original_face_get(), bm_original_vert_get(), data, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, mesh_render_data_edge_flag(), mesh_render_data_face_flag(), mesh_render_data_vert_flag(), and params.
|
static |
Definition at line 3829 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 3751 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, CD_MLOOPUV, CustomData_get_offset(), data, MeshRenderData::extract_type, GPU_COMP_U8, GPU_FETCH_INT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), BMesh::ldata, Mesh::ldata, MeshRenderData::loop_len, MeshRenderData::me, MEM_callocN, and MR_EXTRACT_BMESH.
|
static |
Definition at line 3774 of file draw_cache_extract_mesh.c.
References data, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, l, mesh_render_data_face_flag(), mesh_render_data_loop_edge_flag(), mesh_render_data_loop_flag(), and params.
|
static |
Definition at line 3790 of file draw_cache_extract_mesh.c.
References BM_face_edge_share_loop(), bm_original_edge_get(), bm_original_face_get(), bm_original_vert_get(), data, MLoop::e, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, l, mesh_render_data_loop_edge_flag(), mesh_render_data_loop_flag(), MeshRenderData::mloop, NULL, and params.
|
static |
Definition at line 1878 of file draw_cache_extract_mesh.c.
References data, GPU_indexbuf_build_in_place(), and MEM_freeN.
|
static |
Definition at line 1809 of file draw_cache_extract_mesh.c.
References data, GPU_indexbuf_init(), GPU_PRIM_POINTS, MEM_callocN, MeshRenderData::poly_len, MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
|
static |
Definition at line 1833 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, data, edituv_facedot_add(), EXTRACT_POLY_FOREACH_BM_BEGIN, EXTRACT_POLY_FOREACH_BM_END, and params.
|
static |
Definition at line 1845 of file draw_cache_extract_mesh.c.
References data, edituv_facedot_add(), EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, EXTRACT_POLY_FOREACH_MESH_BEGIN, EXTRACT_POLY_FOREACH_MESH_END, MeshRenderData::extract_type, MVert::flag, ME_FACE_SEL, ME_HIDE, ME_VERT_FACEDOT, MR_EXTRACT_MAPPED, MeshRenderData::mvert, ORIGINDEX_NONE, MeshRenderData::p_origindex, params, and MeshRenderData::use_subsurf_fdots.
|
static |
Definition at line 1710 of file draw_cache_extract_mesh.c.
References data, MeshExtract_EditUvElem_Data::elb, GPU_indexbuf_build_in_place(), and MEM_freeN.
|
static |
Definition at line 1658 of file draw_cache_extract_mesh.c.
References data, GPU_indexbuf_init(), GPU_PRIM_LINES, MeshRenderData::loop_len, MEM_callocN, MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
|
static |
Definition at line 1677 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, BM_ELEM_SELECT, data, edituv_edge_add(), EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, and params.
|
static |
Definition at line 1692 of file draw_cache_extract_mesh.c.
References data, MeshRenderData::e_origindex, edituv_edge_add(), EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, ME_FACE_SEL, ME_HIDE, NULL, ORIGINDEX_NONE, and params.
|
static |
Definition at line 1784 of file draw_cache_extract_mesh.c.
References data, MeshExtract_EditUvElem_Data::elb, GPU_indexbuf_build_in_place(), and MEM_freeN.
|
static |
Definition at line 1735 of file draw_cache_extract_mesh.c.
References data, GPU_indexbuf_init(), GPU_PRIM_POINTS, MeshRenderData::loop_len, MEM_callocN, MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
|
static |
Definition at line 1756 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, data, edituv_point_add(), EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, l, and params.
|
static |
Definition at line 1770 of file draw_cache_extract_mesh.c.
References data, edituv_point_add(), EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, MeshRenderData::extract_type, ME_FACE_SEL, ME_HIDE, MR_EXTRACT_MAPPED, ORIGINDEX_NONE, params, and MeshRenderData::v_origindex.
|
static |
Definition at line 4142 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 4022 of file draw_cache_extract_mesh.c.
References BLI_assert, MeshRenderData::bm, CD_MLOOPUV, CustomData_get_layer(), CustomData_get_offset(), data, ELEM, MeshRenderData::extract_type, GPU_COMP_I16, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), BMesh::ldata, Mesh::ldata, MeshRenderData::loop_len, MeshRenderData::me, MEM_callocN, MR_EXTRACT_BMESH, MR_EXTRACT_MAPPED, and MR_EXTRACT_MESH.
|
static |
Definition at line 4051 of file draw_cache_extract_mesh.c.
References BM_ELEM_CD_GET_VOID_P, BM_FACE_FIRST_LOOP, bm_vert_co_get(), compute_normalize_edge_vectors(), copy_v2_v2(), copy_v3_v3(), data, edituv_get_edituv_stretch_angle(), EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, float(), l, BMLoop::next, params, BMLoop::prev, MLoopUV::uv, and BMLoop::v.
|
static |
Definition at line 4098 of file draw_cache_extract_mesh.c.
References BMVert::co, MVert::co, compute_normalize_edge_vectors(), copy_v2_v2(), copy_v3_v3(), data, edituv_get_edituv_stretch_angle(), EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, float(), MeshRenderData::mloop, MeshRenderData::mvert, params, v, and MLoop::v.
|
static |
Definition at line 3852 of file draw_cache_extract_mesh.c.
References GPU_COMP_I16, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), MeshRenderData::loop_len, and NULL.
|
static |
Definition at line 1633 of file draw_cache_extract_mesh.c.
References data, MeshExtract_EditUvElem_Data::elb, GPU_indexbuf_build_in_place(), and MEM_freeN.
|
static |
Definition at line 1582 of file draw_cache_extract_mesh.c.
References data, GPU_indexbuf_init(), GPU_PRIM_TRIS, MeshRenderData::loop_len, MEM_callocN, MeshRenderData::toolsettings, MeshRenderData::tri_len, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
|
static |
Definition at line 1600 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, BM_ELEM_SELECT, data, edituv_tri_add(), EXTRACT_TRIS_LOOPTRI_FOREACH_BM_BEGIN, EXTRACT_TRIS_LOOPTRI_FOREACH_BM_END, and params.
|
static |
Definition at line 1616 of file draw_cache_extract_mesh.c.
References data, edituv_tri_add(), EXTRACT_TRIS_LOOPTRI_FOREACH_MESH_BEGIN, EXTRACT_TRIS_LOOPTRI_FOREACH_MESH_END, MPoly::flag, ME_FACE_SEL, ME_HIDE, MeshRenderData::mpoly, and params.
|
static |
Definition at line 5452 of file draw_cache_extract_mesh.c.
References data, EXTRACT_POLY_FOREACH_BM_BEGIN, EXTRACT_POLY_FOREACH_BM_END, and params.
|
static |
Definition at line 5463 of file draw_cache_extract_mesh.c.
References data, EXTRACT_POLY_FOREACH_MESH_BEGIN, EXTRACT_POLY_FOREACH_MESH_END, NULL, MeshRenderData::p_origindex, and params.
|
static |
Definition at line 5165 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 5116 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, CD_MLOOPUV, CustomData_get_offset(), data, GPU_COMP_U8, GPU_FETCH_INT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), BMesh::ldata, MEM_callocN, and MeshRenderData::poly_len.
|
static |
Definition at line 5134 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, data, EXTRACT_POLY_FOREACH_BM_BEGIN, EXTRACT_POLY_FOREACH_BM_END, mesh_render_data_face_flag(), and params.
|
static |
Definition at line 5148 of file draw_cache_extract_mesh.c.
References bm_original_face_get(), data, EXTRACT_POLY_FOREACH_MESH_BEGIN, EXTRACT_POLY_FOREACH_MESH_END, mesh_render_data_face_flag(), and params.
|
static |
Definition at line 1317 of file draw_cache_extract_mesh.c.
References GPU_indexbuf_build_in_place(), and MEM_freeN.
|
static |
Definition at line 1260 of file draw_cache_extract_mesh.c.
References GPU_indexbuf_init(), GPU_PRIM_POINTS, MEM_mallocN, and MeshRenderData::poly_len.
|
static |
Definition at line 1269 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, EXTRACT_POLY_FOREACH_BM_BEGIN, EXTRACT_POLY_FOREACH_BM_END, GPU_indexbuf_set_point_restart(), GPU_indexbuf_set_point_vert(), and params.
|
static |
Definition at line 1285 of file draw_cache_extract_mesh.c.
References EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, EXTRACT_POLY_FOREACH_MESH_BEGIN, EXTRACT_POLY_FOREACH_MESH_END, GPU_indexbuf_set_point_restart(), GPU_indexbuf_set_point_vert(), ME_HIDE, ME_VERT_FACEDOT, MeshRenderData::mvert, params, MeshRenderData::use_hide, and MeshRenderData::use_subsurf_fdots.
|
static |
Definition at line 4875 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_face_at_index(), bm_face_no_get(), bm_original_face_get(), MeshRenderData::efa_act, MeshRenderData::extract_type, GPU_normal_convert_i10_v3(), GPU_vertbuf_get_data(), MR_EXTRACT_BMESH, MR_EXTRACT_MAPPED, nor, NOR_AND_FLAG_ACTIVE, NOR_AND_FLAG_DEFAULT, NOR_AND_FLAG_HIDDEN, NOR_AND_FLAG_SELECT, ORIGINDEX_NONE, MeshRenderData::p_origindex, and MeshRenderData::poly_len.
|
static |
Definition at line 4951 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_face_at_index(), bm_face_no_get(), bm_original_face_get(), MeshRenderData::efa_act, MeshRenderData::extract_type, GPU_vertbuf_get_data(), MR_EXTRACT_BMESH, MR_EXTRACT_MAPPED, nor, NOR_AND_FLAG_ACTIVE, NOR_AND_FLAG_DEFAULT, NOR_AND_FLAG_HIDDEN, NOR_AND_FLAG_SELECT, normal_float_to_short_v3(), ORIGINDEX_NONE, MeshRenderData::p_origindex, and MeshRenderData::poly_len.
|
static |
Definition at line 4936 of file draw_cache_extract_mesh.c.
References GPU_COMP_I16, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), NULL, and MeshRenderData::poly_len.
|
static |
Definition at line 4860 of file draw_cache_extract_mesh.c.
References GPU_COMP_I10, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), NULL, and MeshRenderData::poly_len.
|
static |
Definition at line 4772 of file draw_cache_extract_mesh.c.
References GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), and MeshRenderData::poly_len.
|
static |
Definition at line 4786 of file draw_cache_extract_mesh.c.
References add_v3_v3(), BM_FACE_FIRST_LOOP, bm_vert_co_get(), center, data, EXTRACT_POLY_FOREACH_BM_BEGIN, EXTRACT_POLY_FOREACH_BM_END, float(), mul_v3_fl(), BMLoop::next, params, BMLoop::v, and zero_v3().
|
static |
Definition at line 4807 of file draw_cache_extract_mesh.c.
References add_v3_v3(), center, copy_v3_v3(), data, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, EXTRACT_POLY_FOREACH_MESH_BEGIN, EXTRACT_POLY_FOREACH_MESH_END, float(), ME_VERT_FACEDOT, MeshRenderData::mloop, mul_v3_fl(), MeshRenderData::mvert, params, MeshRenderData::use_subsurf_fdots, MLoop::v, and zero_v3().
|
static |
Definition at line 5089 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 5019 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, CD_MLOOPUV, CustomData_get_layer(), CustomData_get_offset(), data, MeshRenderData::extract_type, float(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_get_format(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), BMesh::ldata, Mesh::ldata, MeshRenderData::me, MEM_callocN, MR_EXTRACT_BMESH, MeshRenderData::poly_len, stride, and MeshRenderData::use_subsurf_fdots.
|
static |
Definition at line 5050 of file draw_cache_extract_mesh.c.
References BM_ELEM_CD_GET_VOID_P, BM_elem_index_get, data, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, float(), l, BMFace::len, madd_v2_v2fl(), params, and w().
|
static |
Definition at line 5064 of file draw_cache_extract_mesh.c.
References copy_v2_v2(), data, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, float(), madd_v2_v2fl(), ME_VERT_FACEDOT, MeshRenderData::mvert, params, MeshRenderData::use_subsurf_fdots, and w().
|
static |
Definition at line 5643 of file draw_cache_extract_mesh.c.
References data, and EXTRACT_MESH_EXTRACT.
Referenced by extract_init_and_run(), and user_data_init_task_data_exec().
|
static |
Definition at line 5672 of file draw_cache_extract_mesh.c.
References extract_init(), and extract_run().
Referenced by extract_single_threaded_task_node_exec(), and extract_task_create().
|
static |
Definition at line 1528 of file draw_cache_extract_mesh.c.
References abs(), BLI_edgehash_free(), BLI_edgehashIterator_free(), BLI_edgehashIterator_getKey(), BLI_edgehashIterator_getValue(), BLI_edgehashIterator_isDone(), BLI_edgehashIterator_new(), BLI_edgehashIterator_step(), data, GPU_indexbuf_add_line_adj_verts(), GPU_indexbuf_build_in_place(), MeshBatchCache::is_manifold, MEM_freeN, NO_EDGE, NULL, POINTER_AS_INT, SWAP, and v2.
|
static |
Definition at line 1430 of file draw_cache_extract_mesh.c.
References BLI_edgehash_new_ex(), data, GPU_indexbuf_init(), GPU_PRIM_LINES_ADJ, MeshRenderData::loop_len, MEM_callocN, MeshRenderData::poly_len, MeshRenderData::tri_len, and MeshRenderData::vert_len.
|
static |
Definition at line 1489 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, data, EXTRACT_TRIS_LOOPTRI_FOREACH_BM_BEGIN, EXTRACT_TRIS_LOOPTRI_FOREACH_BM_END, lines_adjacency_triangle(), params, and v.
|
static |
Definition at line 1508 of file draw_cache_extract_mesh.c.
References data, EXTRACT_TRIS_LOOPTRI_FOREACH_MESH_BEGIN, EXTRACT_TRIS_LOOPTRI_FOREACH_MESH_END, MPoly::flag, lines_adjacency_triangle(), ME_HIDE, MeshRenderData::mloop, MeshRenderData::mpoly, params, MeshRenderData::use_hide, and MLoop::v.
|
static |
Definition at line 1063 of file draw_cache_extract_mesh.c.
References GPU_indexbuf_build_in_place(), and MEM_freeN.
|
static |
Definition at line 943 of file draw_cache_extract_mesh.c.
References MeshRenderData::edge_len, MeshRenderData::edge_loose_len, GPU_indexbuf_init(), GPU_PRIM_LINES, MeshRenderData::loop_len, MeshRenderData::loop_loose_len, and MEM_mallocN.
|
static |
Definition at line 1020 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, MeshRenderData::edge_len, EXTRACT_LEDGE_FOREACH_BM_BEGIN, EXTRACT_LEDGE_FOREACH_BM_END, GPU_indexbuf_set_line_restart(), GPU_indexbuf_set_line_verts(), MeshRenderData::loop_len, and params.
|
static |
Definition at line 1040 of file draw_cache_extract_mesh.c.
References MeshRenderData::e_origindex, MeshRenderData::edge_len, EXTRACT_LEDGE_FOREACH_MESH_BEGIN, EXTRACT_LEDGE_FOREACH_MESH_END, MeshRenderData::extract_type, GPU_indexbuf_set_line_restart(), GPU_indexbuf_set_line_verts(), MeshRenderData::ledges, MeshRenderData::loop_len, ME_HIDE, MR_EXTRACT_MAPPED, ORIGINDEX_NONE, params, and MeshRenderData::use_hide.
|
static |
Definition at line 954 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, BM_FACE_FIRST_LOOP, BMLoop::e, EXTRACT_POLY_FOREACH_BM_BEGIN, EXTRACT_POLY_FOREACH_BM_END, GPU_indexbuf_set_line_restart(), GPU_indexbuf_set_line_verts(), BMLoop::next, and params.
|
static |
Definition at line 979 of file draw_cache_extract_mesh.c.
References MLoop::e, MeshRenderData::e_origindex, EXTRACT_POLY_FOREACH_MESH_BEGIN, EXTRACT_POLY_FOREACH_MESH_END, MeshRenderData::extract_type, MEdge::flag, GPU_indexbuf_set_line_restart(), GPU_indexbuf_set_line_verts(), ME_HIDE, MeshRenderData::medge, MeshRenderData::mloop, MR_EXTRACT_MAPPED, NULL, ORIGINDEX_NONE, params, and MeshRenderData::use_hide.
|
static |
Definition at line 1088 of file draw_cache_extract_mesh.c.
References BLI_assert, MeshRenderData::edge_len, MeshRenderData::edge_loose_len, MeshBatchCache::final, GPU_indexbuf_create_subrange_in_place(), MeshBufferCache::ibo, len, MeshBufferCache::lines, MeshBufferCache::lines_loose, and MeshBatchCache::no_loose_wire.
Referenced by extract_lines_with_lines_loose_finish(), and extract_run().
|
static |
Definition at line 1395 of file draw_cache_extract_mesh.c.
References data, GPU_indexbuf_build_in_place(), and MEM_freeN.
|
static |
Definition at line 1347 of file draw_cache_extract_mesh.c.
References BLI_BITMAP_SIZE, data, MeshRenderData::edge_len, GPU_indexbuf_init(), GPU_PRIM_LINES, MeshRenderData::loop_len, and MEM_callocN.
|
static |
Definition at line 1357 of file draw_cache_extract_mesh.c.
References BLI_BITMAP_TEST, BLI_BITMAP_TEST_AND_SET_ATOMIC, data, MeshRenderData::e_origindex, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, MeshRenderData::extract_type, MEdge::flag, GPU_indexbuf_set_line_restart(), GPU_indexbuf_set_line_verts(), ME_FACE_SEL, ME_HIDE, MeshRenderData::medge, MR_EXTRACT_MAPPED, ORIGINDEX_NONE, params, and MeshRenderData::use_hide.
|
static |
Definition at line 1099 of file draw_cache_extract_mesh.c.
References extract_lines_loose_subbuffer(), GPU_indexbuf_build_in_place(), and MEM_freeN.
|
static |
Definition at line 2283 of file draw_cache_extract_mesh.c.
References GPU_COMP_I16, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), and MeshRenderData::loop_len.
|
static |
Definition at line 2299 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_SMOOTH, bm_face_no_get(), bm_vert_no_get(), data, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, l, MeshRenderData::loop_normals, normal_float_to_short_v3(), params, BMLoop::v, and x.
|
static |
Definition at line 2324 of file draw_cache_extract_mesh.c.
References copy_v3_v3_short(), data, MeshRenderData::edit_bmesh, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, MeshRenderData::extract_type, MeshRenderData::loop_normals, ME_FACE_SEL, ME_HIDE, ME_SMOOTH, MR_EXTRACT_MAPPED, MeshRenderData::mvert, MVert::no, normal_float_to_short_v3(), ORIGINDEX_NONE, params, MeshRenderData::poly_normals, MeshRenderData::v_origindex, gpuHQNor::w, and gpuHQNor::x.
|
static |
Definition at line 2371 of file draw_cache_extract_mesh.c.
References GPU_COMP_I10, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), and MeshRenderData::loop_len.
|
static |
Definition at line 2387 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SMOOTH, bm_face_no_get(), bm_vert_no_get(), data, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, GPU_normal_convert_i10_v3(), l, MeshRenderData::loop_normals, params, and BMLoop::v.
|
static |
Definition at line 2416 of file draw_cache_extract_mesh.c.
References data, MeshRenderData::edit_bmesh, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, MeshRenderData::extract_type, GPU_normal_convert_i10_s3(), GPU_normal_convert_i10_v3(), MeshRenderData::loop_normals, ME_FACE_SEL, ME_HIDE, ME_SMOOTH, MR_EXTRACT_MAPPED, MeshRenderData::mvert, MVert::no, ORIGINDEX_NONE, params, MeshRenderData::poly_normals, MeshRenderData::v_origindex, and GPUPackedNormal::w.
|
static |
Definition at line 4728 of file draw_cache_extract_mesh.c.
References BLI_assert, MeshRenderData::edit_bmesh, GPU_vertbuf_get_data(), SCE_STATVIS_DISTORT, SCE_STATVIS_INTERSECT, SCE_STATVIS_OVERHANG, SCE_STATVIS_SHARP, SCE_STATVIS_THICKNESS, ToolSettings::statvis, statvis_calc_distort(), statvis_calc_intersect(), statvis_calc_overhang(), statvis_calc_sharp(), statvis_calc_thickness(), MeshRenderData::toolsettings, and MeshStatVis::type.
|
static |
Definition at line 4165 of file draw_cache_extract_mesh.c.
References GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), MeshRenderData::loop_len, and NULL.
|
static |
Definition at line 3076 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 3021 of file draw_cache_extract_mesh.c.
References BLI_assert, CD_ORCO, CustomData_get_layer(), data, float(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), MeshRenderData::loop_len, MeshRenderData::me, and MEM_mallocN.
|
static |
Definition at line 3048 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, copy_v3_v3(), data, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, MeshExtract_Orco_Data::orco, params, and MeshExtract_Orco_Data::vbo_data.
|
static |
Definition at line 3062 of file draw_cache_extract_mesh.c.
References copy_v3_v3(), data, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, MeshExtract_Orco_Data::orco, params, and MeshExtract_Orco_Data::vbo_data.
|
static |
Definition at line 1232 of file draw_cache_extract_mesh.c.
References GPU_indexbuf_build_in_place(), and MEM_freeN.
|
static |
Definition at line 1126 of file draw_cache_extract_mesh.c.
References GPU_indexbuf_init(), GPU_PRIM_POINTS, MeshRenderData::loop_len, MeshRenderData::loop_loose_len, MEM_mallocN, and MeshRenderData::vert_len.
|
static |
Definition at line 1184 of file draw_cache_extract_mesh.c.
References EXTRACT_LEDGE_FOREACH_BM_BEGIN, EXTRACT_LEDGE_FOREACH_BM_END, MeshRenderData::loop_len, params, and vert_set_bm().
|
static |
Definition at line 1196 of file draw_cache_extract_mesh.c.
References EXTRACT_LEDGE_FOREACH_MESH_BEGIN, EXTRACT_LEDGE_FOREACH_MESH_END, MeshRenderData::loop_len, params, and vert_set_mesh().
|
static |
Definition at line 1208 of file draw_cache_extract_mesh.c.
References MeshRenderData::edge_loose_len, EXTRACT_LVERT_FOREACH_BM_BEGIN, EXTRACT_LVERT_FOREACH_BM_END, MeshRenderData::loop_len, params, and vert_set_bm().
|
static |
Definition at line 1220 of file draw_cache_extract_mesh.c.
References MeshRenderData::edge_loose_len, EXTRACT_LVERT_FOREACH_MESH_BEGIN, EXTRACT_LVERT_FOREACH_MESH_END, MeshRenderData::loop_len, MeshRenderData::lverts, params, and vert_set_mesh().
|
static |
Definition at line 1162 of file draw_cache_extract_mesh.c.
References EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, l, params, BMLoop::v, and vert_set_bm().
|
static |
Definition at line 1173 of file draw_cache_extract_mesh.c.
References EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, params, and vert_set_mesh().
|
static |
Definition at line 5263 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, data, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, l, and params.
|
static |
Definition at line 5332 of file draw_cache_extract_mesh.c.
References data, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, MeshRenderData::p_origindex, and params.
|
static |
Definition at line 2061 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 2253 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 2097 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, BM_ITER_MESH_INDEX, bm_vert_no_get(), BM_VERTS_OF_MESH, copy_v3_v3_short(), data, MeshRenderData::extract_type, GPU_COMP_F32, GPU_COMP_I16, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), MeshRenderData::loop_len, MeshRenderData::loop_loose_len, MEM_mallocN, MR_EXTRACT_BMESH, MeshRenderData::mvert, normal_float_to_short_v3(), v, and MeshRenderData::vert_len.
|
static |
Definition at line 2180 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, bm_vert_co_get(), copy_v3_v3(), copy_v3_v3_short(), data, EXTRACT_LEDGE_FOREACH_BM_BEGIN, EXTRACT_LEDGE_FOREACH_BM_END, MeshRenderData::loop_len, PosNorHQLoop::nor, nor, params, and pos.
|
static |
Definition at line 2199 of file draw_cache_extract_mesh.c.
References MVert::co, copy_v3_v3(), copy_v3_v3_short(), data, EXTRACT_LEDGE_FOREACH_MESH_BEGIN, EXTRACT_LEDGE_FOREACH_MESH_END, MeshRenderData::loop_len, MeshRenderData::mvert, PosNorHQLoop::nor, nor, params, and pos.
|
static |
Definition at line 2218 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, bm_vert_co_get(), copy_v3_v3(), copy_v3_v3_short(), data, MeshRenderData::edge_loose_len, EXTRACT_LVERT_FOREACH_BM_BEGIN, EXTRACT_LVERT_FOREACH_BM_END, high(), MeshRenderData::loop_len, PosNorHQLoop::nor, params, and PosNorHQLoop::pos.
|
static |
Definition at line 2235 of file draw_cache_extract_mesh.c.
References copy_v3_v3(), copy_v3_v3_short(), data, MeshRenderData::edge_loose_len, EXTRACT_LVERT_FOREACH_MESH_BEGIN, EXTRACT_LVERT_FOREACH_MESH_END, MeshRenderData::loop_len, MeshRenderData::lverts, PosNorHQLoop::nor, params, and PosNorHQLoop::pos.
|
static |
Definition at line 2135 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, bm_vert_co_get(), copy_v3_v3(), copy_v3_v3_short(), data, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, l, PosNorHQLoop::nor, params, PosNorHQLoop::pos, and BMLoop::v.
|
static |
Definition at line 2152 of file draw_cache_extract_mesh.c.
References copy_v3_v3(), copy_v3_v3_short(), data, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, MeshRenderData::extract_type, ME_HIDE, MR_EXTRACT_MAPPED, MeshRenderData::mvert, PosNorHQLoop::nor, ORIGINDEX_NONE, params, PosNorHQLoop::pos, SELECT, and MeshRenderData::v_origindex.
|
static |
Definition at line 1913 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, BM_ITER_MESH_INDEX, bm_vert_no_get(), BM_VERTS_OF_MESH, data, MeshRenderData::extract_type, GPU_COMP_F32, GPU_COMP_I10, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_normal_convert_i10_s3(), GPU_normal_convert_i10_v3(), GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), MeshRenderData::loop_len, MeshRenderData::loop_loose_len, MEM_mallocN, MR_EXTRACT_BMESH, MeshRenderData::mvert, v, and MeshRenderData::vert_len.
|
static |
Definition at line 1994 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, bm_vert_co_get(), copy_v3_v3(), data, EXTRACT_LEDGE_FOREACH_BM_BEGIN, EXTRACT_LEDGE_FOREACH_BM_END, MeshRenderData::loop_len, PosNorLoop::nor, params, and pos.
|
static |
Definition at line 2011 of file draw_cache_extract_mesh.c.
References MVert::co, copy_v3_v3(), data, EXTRACT_LEDGE_FOREACH_MESH_BEGIN, EXTRACT_LEDGE_FOREACH_MESH_END, MeshRenderData::loop_len, MeshRenderData::mvert, PosNorLoop::nor, params, and pos.
|
static |
Definition at line 2028 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, bm_vert_co_get(), copy_v3_v3(), data, MeshRenderData::edge_loose_len, EXTRACT_LVERT_FOREACH_BM_BEGIN, EXTRACT_LVERT_FOREACH_BM_END, MeshRenderData::loop_len, PosNorLoop::nor, params, and PosNorLoop::pos.
|
static |
Definition at line 2044 of file draw_cache_extract_mesh.c.
References copy_v3_v3(), data, MeshRenderData::edge_loose_len, EXTRACT_LVERT_FOREACH_MESH_BEGIN, EXTRACT_LVERT_FOREACH_MESH_END, MeshRenderData::loop_len, MeshRenderData::lverts, PosNorLoop::nor, params, and PosNorLoop::pos.
|
static |
Definition at line 1951 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, bm_vert_co_get(), copy_v3_v3(), data, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, BMLoop::f, l, PosNorLoop::nor, params, PosNorLoop::pos, BMLoop::v, and GPUPackedNormal::w.
|
static |
Definition at line 1967 of file draw_cache_extract_mesh.c.
References copy_v3_v3(), data, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, MeshRenderData::extract_type, ME_HIDE, MR_EXTRACT_MAPPED, MeshRenderData::mvert, PosNorLoop::nor, ORIGINDEX_NONE, params, PosNorLoop::pos, SELECT, MeshRenderData::v_origindex, and GPUPackedNormal::w.
|
static |
Definition at line 5811 of file draw_cache_extract_mesh.c.
References atomic_add_and_fetch_int32(), BLI_task_graph_edge_create(), BLI_task_graph_node_create(), ExtractTaskData::end, extract_run(), ExtractTaskData::iter_type, length(), MEM_dupallocN, MEM_freeN, ExtractTaskData::start, ExtractTaskData::task_counter, and type.
Referenced by extract_task_create().
|
static |
Definition at line 5650 of file draw_cache_extract_mesh.c.
References atomic_sub_and_fetch_int32(), data, EXTRACT_LINES_LOOSE, extract_lines_loose_subbuffer(), EXTRACT_MESH_EXTRACT, mesh_extract_iter(), and NULL.
Referenced by extract_init_and_run(), and extract_range_task_create().
|
static |
Definition at line 2768 of file draw_cache_extract_mesh.c.
References BKE_paint_face_set_overlay_color_get(), MeshRenderData::bm, BM_ELEM_CD_GET_FLOAT, BM_ELEM_CD_GET_INT, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, CD_MLOOP, CD_PAINT_MASK, CD_SCULPT_FACE_SETS, copy_v3_v3_uchar(), CustomData_get_layer(), CustomData_get_offset(), MeshRenderData::extract_type, BMLoop::f, Mesh::face_sets_color_default, Mesh::face_sets_color_seed, GPU_COMP_F32, GPU_COMP_U8, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), l, BMesh::ldata, Mesh::ldata, MeshRenderData::loop_len, mask(), MeshRenderData::me, MeshRenderData::mpoly, MR_EXTRACT_BMESH, BMLoop::next, NULL, BMesh::pdata, MeshRenderData::poly_len, MPoly::totloop, BMLoop::v, MLoop::v, and BMesh::vdata.
|
static |
Definition at line 5437 of file draw_cache_extract_mesh.c.
References GPU_COMP_U32, GPU_FETCH_INT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), and MeshRenderData::poly_len.
|
static |
Definition at line 5243 of file draw_cache_extract_mesh.c.
References GPU_COMP_U32, GPU_FETCH_INT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), MeshRenderData::loop_len, and MeshRenderData::loop_loose_len.
|
static |
Definition at line 5736 of file draw_cache_extract_mesh.c.
References BLI_assert, BLI_listbase_clear(), extract_task_data_free(), LISTBASE_FOREACH_MUTABLE, MEM_freeN, and ExtractSingleThreadedTaskData::task_datas.
Referenced by extract_single_threaded_task_node_create(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 5754 of file draw_cache_extract_mesh.c.
References BLI_task_graph_node_create(), extract_single_threaded_task_data_free(), extract_single_threaded_task_node_exec(), and TaskNode::task_data.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 5746 of file draw_cache_extract_mesh.c.
References extract_init_and_run(), LISTBASE_FOREACH, and ExtractSingleThreadedTaskData::task_datas.
Referenced by extract_single_threaded_task_node_create().
|
static |
Definition at line 5192 of file draw_cache_extract_mesh.c.
References BLI_assert, MeshRenderData::bm, BM_ELEM_CD_GET_VOID_P, BM_ITER_MESH, bm_vert_co_get(), BM_VERTS_OF_MESH, CD_MVERT_SKIN, copy_v3_v3(), CustomData_get_offset(), MVertSkin::flag, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_data_len_set(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), SkinRootData::local_pos, MVERT_SKIN_ROOT, NULL, MVertSkin::radius, SkinRootData::size, BMesh::totvert, and BMesh::vdata.
|
static |
Definition at line 2560 of file draw_cache_extract_mesh.c.
References BKE_editmesh_loop_tangent_calc(), BKE_mesh_calc_loop_tangent_ex(), BKE_mesh_orco_verts_transform(), BLI_snprintf(), BLI_strncpy(), bm, MeshRenderData::bm, BM_vert_at_index(), CD_MLOOPUV, CD_ORCO, CD_TANGENT, MeshBatchCache::cd_used, BMVert::co, copy_v3_v3(), CustomData_free(), CustomData_get_active_layer(), CustomData_get_layer(), CustomData_get_layer_n(), CustomData_get_layer_name(), CustomData_get_layer_named(), CustomData_get_render_layer(), CustomData_reset(), MeshRenderData::edit_bmesh, MeshRenderData::extract_type, float(), GPU_COMP_F32, GPU_COMP_I10, GPU_COMP_I16, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_MAX_SAFE_ATTR_NAME, GPU_normal_convert_i10_v3(), GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), GPU_vertformat_deinterleave(), GPU_vertformat_safe_attr_name(), BMesh::ldata, Mesh::ldata, MeshRenderData::loop_len, MeshRenderData::loop_normals, MAX_CUSTOMDATA_LAYER_NAME, MAX_MTFACE, MeshRenderData::me, MEM_mallocN, MEM_SAFE_FREE, MeshRenderData::mloop, MeshRenderData::mlooptri, MeshRenderData::mpoly, MR_EXTRACT_BMESH, MeshRenderData::mvert, normal_float_to_short_v3(), NULL, MeshRenderData::poly_len, MeshRenderData::poly_normals, DRW_MeshCDMask::tan, DRW_MeshCDMask::tan_orco, MeshRenderData::tri_len, v, BMesh::vdata, MeshRenderData::vert_len, and GPUPackedNormal::w.
Referenced by extract_tan_hq_init(), and extract_tan_init().
|
static |
Definition at line 2750 of file draw_cache_extract_mesh.c.
References extract_tan_ex(), and NULL.
|
static |
Definition at line 2732 of file draw_cache_extract_mesh.c.
References extract_tan_ex(), and NULL.
|
static |
Definition at line 5828 of file draw_cache_extract_mesh.c.
References BLI_addtail(), BLI_assert, BLI_task_graph_edge_create(), BLI_task_graph_node_create(), MeshRenderData::edge_loose_len, extract(), extract_fdots_nor, extract_fdots_nor_hq, extract_init_and_run(), extract_lnor, extract_lnor_hq, extract_pos_nor, extract_pos_nor_hq, extract_range_task_create(), extract_tan, extract_tan_hq, extract_task_data_create_mesh_extract(), extract_task_data_free(), GPU_use_hq_normals_workaround(), ExtractTaskData::iter_type, MeshRenderData::loop_len, MeshRenderData::loop_loose_len, NULL, RenderData::perf_flag, MeshRenderData::poly_len, Scene::r, SCE_PERF_HQ_NORMALS, scene, MeshRenderData::tri_len, and MeshRenderData::vert_loose_len.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 5548 of file draw_cache_extract_mesh.c.
References ExtractTaskData::cache, EXTRACT_LINES_LOOSE, MEM_callocN, ExtractTaskData::mr, and ExtractTaskData::tasktype.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 5519 of file draw_cache_extract_mesh.c.
References ExtractTaskData::buf, ExtractTaskData::cache, ExtractTaskData::end, extract(), ExtractTaskData::extract, EXTRACT_MESH_EXTRACT, ExtractTaskData::iter_type, MEM_callocN, MEM_mallocN, mesh_extract_iter_type(), ExtractTaskData::mr, ExtractTaskData::next, NULL, ExtractTaskData::prev, ExtractTaskData::start, ExtractTaskData::task_counter, ExtractTaskData::tasktype, and ExtractTaskData::user_data.
Referenced by extract_task_create().
|
static |
Definition at line 5558 of file draw_cache_extract_mesh.c.
References data, MEM_freeN, MEM_SAFE_FREE, and ExtractTaskData::user_data.
Referenced by extract_single_threaded_task_data_free(), extract_task_create(), and user_data_init_task_data_free().
|
static |
Definition at line 897 of file draw_cache_extract_mesh.c.
References data, MeshBatchCache::final, GPU_indexbuf_build_in_place(), GPU_indexbuf_calloc(), GPU_indexbuf_create_subrange_in_place(), len, MeshRenderData::mat_len, MEM_freeN, NULL, MeshBufferCache::tris_per_mat, and MeshRenderData::use_final_mesh.
|
static |
Definition at line 809 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_FACES_OF_MESH, BM_ITER_MESH, data, MeshRenderData::extract_type, MPoly::flag, GPU_indexbuf_init(), GPU_PRIM_TRIS, BMFace::len, MeshRenderData::loop_len, MeshRenderData::mat_len, BMFace::mat_nr, MPoly::mat_nr, ME_HIDE, MEM_callocN, min_ii(), MeshRenderData::mpoly, MR_EXTRACT_BMESH, MeshRenderData::poly_len, MPoly::totloop, and MeshRenderData::use_hide.
|
static |
Definition at line 857 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, data, EXTRACT_TRIS_LOOPTRI_FOREACH_BM_BEGIN, EXTRACT_TRIS_LOOPTRI_FOREACH_BM_END, GPU_indexbuf_set_tri_verts(), MeshRenderData::mat_len, min_ii(), and params.
|
static |
Definition at line 878 of file draw_cache_extract_mesh.c.
References data, EXTRACT_TRIS_LOOPTRI_FOREACH_MESH_BEGIN, EXTRACT_TRIS_LOOPTRI_FOREACH_MESH_END, MPoly::flag, GPU_indexbuf_set_tri_verts(), MeshRenderData::mat_len, MPoly::mat_nr, ME_HIDE, min_ii(), MeshRenderData::mpoly, params, and MeshRenderData::use_hide.
|
static |
Definition at line 2464 of file draw_cache_extract_mesh.c.
References BLI_snprintf(), MeshRenderData::bm, BM_ELEM_CD_GET_VOID_P, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, CD_MLOOPUV, MeshBatchCache::cd_used, CustomData_get_active_layer(), CustomData_get_layer_n(), CustomData_get_layer_name(), CustomData_get_n_offset(), CustomData_get_render_layer(), CustomData_get_stencil_layer(), DRW_MeshCDMask::edit_uv, MeshRenderData::extract_type, float(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_MAX_SAFE_ATTR_NAME, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), GPU_vertformat_deinterleave(), GPU_vertformat_safe_attr_name(), if(), BMesh::ldata, Mesh::ldata, MeshRenderData::loop_len, MAX_MTFACE, MeshRenderData::me, MR_EXTRACT_BMESH, BMLoop::next, NULL, DRW_MeshCDMask::uv, and MLoopUV::uv.
|
static |
Definition at line 2868 of file draw_cache_extract_mesh.c.
References Freestyle::a, MLoopCol::a, MLoopCol::b, BLI_color_from_srgb_table, BLI_snprintf(), MeshRenderData::bm, BM_ELEM_CD_GET_VOID_P, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, CD_MLOOP, CD_MLOOPCOL, CD_MLOOPUV, CD_PROP_COLOR, MeshBatchCache::cd_used, MPropCol::color, CustomData_get_active_layer(), CustomData_get_layer(), CustomData_get_layer_n(), CustomData_get_layer_name(), CustomData_get_n_offset(), CustomData_get_named_layer_index(), CustomData_get_render_layer(), MeshRenderData::extract_type, MLoopCol::g, GPU_COMP_U16, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_MAX_SAFE_ATTR_NAME, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), GPU_vertformat_deinterleave(), GPU_vertformat_safe_attr_name(), BMesh::ldata, Mesh::ldata, MeshRenderData::loop_len, MAX_MCOL, MeshRenderData::me, MR_EXTRACT_BMESH, BMLoop::next, NULL, r, MLoopCol::r, DRW_MeshCDMask::sculpt_vcol, unit_float_to_ushort_clamp(), BMLoop::v, v, DRW_MeshCDMask::vcol, and BMesh::vdata.
|
static |
Definition at line 5308 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, data, EXTRACT_LEDGE_FOREACH_BM_BEGIN, EXTRACT_LEDGE_FOREACH_BM_END, MeshRenderData::loop_len, and params.
|
static |
Definition at line 5379 of file draw_cache_extract_mesh.c.
References data, EXTRACT_LEDGE_FOREACH_MESH_BEGIN, EXTRACT_LEDGE_FOREACH_MESH_END, MeshRenderData::loop_len, params, and MeshRenderData::v_origindex.
|
static |
Definition at line 5320 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, data, MeshRenderData::edge_loose_len, EXTRACT_LVERT_FOREACH_BM_BEGIN, EXTRACT_LVERT_FOREACH_BM_END, MeshRenderData::loop_len, and params.
|
static |
Definition at line 5393 of file draw_cache_extract_mesh.c.
References data, MeshRenderData::edge_loose_len, EXTRACT_LVERT_FOREACH_MESH_BEGIN, EXTRACT_LVERT_FOREACH_MESH_END, MeshRenderData::loop_len, MeshRenderData::lverts, params, and MeshRenderData::v_origindex.
|
static |
Definition at line 5285 of file draw_cache_extract_mesh.c.
References BM_elem_index_get, data, EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, l, params, and BMLoop::v.
|
static |
Definition at line 5354 of file draw_cache_extract_mesh.c.
References data, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, params, and MeshRenderData::v_origindex.
|
static |
Definition at line 3437 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 3360 of file draw_cache_extract_mesh.c.
References MeshRenderData::bm, CD_MDEFORMVERT, CustomData_get_layer(), CustomData_get_offset(), data, MeshRenderData::extract_type, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_get_data(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), MeshRenderData::loop_len, MeshRenderData::loop_loose_len, MeshRenderData::me, MEM_callocN, MR_EXTRACT_BMESH, NULL, BMesh::vdata, and MeshBatchCache::weight_state.
|
static |
Definition at line 3392 of file draw_cache_extract_mesh.c.
References BM_ELEM_CD_GET_VOID_P, data, evaluate_vertex_weight(), EXTRACT_POLY_AND_LOOP_FOREACH_BM_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_BM_END, l, NULL, params, and BMLoop::v.
|
static |
Definition at line 3414 of file draw_cache_extract_mesh.c.
References data, evaluate_vertex_weight(), EXTRACT_POLY_AND_LOOP_FOREACH_MESH_BEGIN, EXTRACT_POLY_AND_LOOP_FOREACH_MESH_END, NULL, and params.
| BLI_INLINE void lines_adjacency_triangle | ( | uint | v1, |
| uint | v2, | ||
| uint | v3, | ||
| uint | l1, | ||
| uint | l2, | ||
| uint | l3, | ||
| MeshExtract_LineAdjacency_Data * | data | ||
| ) |
Definition at line 1448 of file draw_cache_extract_mesh.c.
References abs(), BLI_edgehash_ensure_p(), data, e, GPU_indexbuf_add_line_adj_verts(), NO_EDGE, POINTER_AS_INT, POINTER_FROM_INT, SHIFT3, v1, and v2.
Referenced by extract_lines_adjacency_iter_looptri_bm(), and extract_lines_adjacency_iter_looptri_mesh().
|
static |
Definition at line 3107 of file draw_cache_extract_mesh.c.
References CLAMP, cross_v3_v3v3(), dot_v3v3(), fabsf, normalize_v3(), and sub_v3_v3v3().
Referenced by extract_edge_fac_iter_poly_bm(), and extract_edge_fac_iter_poly_mesh().
| void mesh_buffer_cache_create_requested | ( | struct TaskGraph * | task_graph, |
| MeshBatchCache * | cache, | ||
| MeshBufferCache | mbc, | ||
| Mesh * | me, | ||
| const bool | is_editmode, | ||
| const bool | is_paint_mode, | ||
| const bool | is_mode_active, | ||
| const float | obmat[4][4], | ||
| const bool | do_final, | ||
| const bool | do_uvedit, | ||
| const bool | use_subsurf_fdots, | ||
| const DRW_MeshCDMask * | cd_layer_used, | ||
| const Scene * | scene, | ||
| const ToolSettings * | ts, | ||
| const bool | use_hide | ||
| ) |
Definition at line 5908 of file draw_cache_extract_mesh.c.
References BLI_addtail(), BLI_listbase_is_empty(), BLI_task_graph_edge_create(), BLI_task_graph_node_push_work(), BLI_task_graph_work_and_wait(), eMRIterType, EXTRACT, extract_lines, extract_lines_with_lines_loose, extract_single_threaded_task_data_free(), extract_single_threaded_task_node_create(), extract_task_create(), extract_task_data_create_lines_loose(), MeshBufferCache::ibo, MeshBufferCache::lines, MeshBufferCache::lines_loose, MEM_callocN, mesh_extract_render_data_node_create(), mesh_render_data_create(), NULL, PIL_check_seconds_timer(), scene, KDL::tan(), UserDataInitTaskData::task_counters, ExtractSingleThreadedTaskData::task_datas, UserDataInitTaskData::task_datas, TEST_ASSIGN, MeshRenderData::use_final_mesh, MeshRenderData::use_hide, MeshRenderData::use_subsurf_fdots, and user_data_init_task_node_create().
Referenced by DRW_mesh_batch_cache_create_requested().
|
static |
Definition at line 3883 of file draw_cache_extract_mesh.c.
References blender::compositor::area(), area_ratio_get(), BKE_mesh_calc_poly_area(), BKE_mesh_calc_poly_uv_area(), BLI_assert, MeshRenderData::bm, BM_face_calc_area(), BM_face_calc_area_uv(), BM_FACES_OF_MESH, BM_ITER_MESH_INDEX, CD_MLOOPUV, CustomData_get_layer(), CustomData_get_offset(), ELEM, MeshRenderData::extract_type, GPU_vertbuf_get_data(), BMesh::ldata, Mesh::ldata, BMFace::len, MPoly::loopstart, MeshRenderData::me, MEM_freeN, MEM_mallocN, MeshRenderData::mloop, MeshRenderData::mpoly, MR_EXTRACT_BMESH, MR_EXTRACT_MAPPED, MR_EXTRACT_MESH, MeshRenderData::mvert, MeshRenderData::poly_len, MeshBatchCache::tot_area, MeshBatchCache::tot_uv_area, and MPoly::totloop.
| BLI_INLINE void mesh_extract_iter | ( | const MeshRenderData * | mr, |
| const eMRIterType | iter_type, | ||
| int | start, | ||
| int | end, | ||
| const MeshExtract * | extract, | ||
| void * | user_data | ||
| ) |
Definition at line 5565 of file draw_cache_extract_mesh.c.
References MeshRenderData::edge_loose_len, MeshRenderData::edit_bmesh, extract(), MeshRenderData::extract_type, MeshRenderData::ledges, BMEditMesh::looptris, MeshRenderData::lverts, min_ii(), MeshRenderData::mlooptri, MR_EXTRACT_BMESH, MR_EXTRACT_MAPPED, MR_EXTRACT_MESH, MeshRenderData::poly_len, MeshRenderData::tri_len, user_data, and MeshRenderData::vert_loose_len.
Referenced by extract_run().
| BLI_INLINE eMRIterType mesh_extract_iter_type | ( | const MeshExtract * | ext | ) |
Definition at line 787 of file draw_cache_extract_mesh.c.
References eMRIterType, 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 extract_task_data_create_mesh_extract().
|
static |
Definition at line 5708 of file draw_cache_extract_mesh.c.
References BLI_task_graph_node_create(), MEM_mallocN, mesh_extract_render_data_node_exec(), mesh_render_data_update_task_data_free(), and TaskNode::task_data.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 5697 of file draw_cache_extract_mesh.c.
References MeshRenderDataUpdateTaskData::data_flag, eMRIterType, MeshRenderDataUpdateTaskData::iter_type, mesh_render_data_update_looptris(), mesh_render_data_update_normals(), and MeshRenderDataUpdateTaskData::mr.
Referenced by mesh_extract_render_data_node_create().
|
static |
| 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 319 of file draw_cache_extract_mesh.c.
References BKE_editmesh_cache_ensure_poly_normals(), BKE_editmesh_cache_ensure_vert_normals(), 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(), MeshRenderData::crease_ofs, CustomData_get_layer(), CustomData_get_offset(), MeshRenderData::e_origindex, BMesh::edata, EDBM_uv_active_face_get(), 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, MeshRenderData::eve_act, MeshRenderData::extract_type, MeshRenderData::freestyle_edge_ofs, MeshRenderData::freestyle_face_ofs, if(), Mesh_Runtime::is_original, Mesh::ldata, MeshRenderData::loop_len, MeshRenderData::mat_len, MeshRenderData::me, ME_WRAPPER_TYPE_MDATA, MeshRenderData::medge, MEM_callocN, BMEditMesh::mesh_eval_cage, BMEditMesh::mesh_eval_final, mesh_render_data_update_loose_geom(), mesh_render_mat_len_get(), MeshRenderData::mloop, MeshRenderData::mpoly, MR_EXTRACT_BMESH, MR_EXTRACT_MAPPED, MR_EXTRACT_MESH, MeshRenderData::mvert, NULL, MeshRenderData::obmat, MeshRenderData::p_origindex, BMesh::pdata, MeshRenderData::poly_len, poly_to_tri_count(), EditMeshData::polyCos, EditMeshData::polyNos, 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, MeshRenderData::vert_len, EditMeshData::vertexCos, EditMeshData::vertexNos, and Mesh_Runtime::wrapper_type.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 3496 of file draw_cache_extract_mesh.c.
References BM_edge_in_face(), BM_ELEM_CD_GET_FLOAT, BM_ELEM_CD_GET_VOID_P, BM_elem_flag_test, BM_ELEM_SEAM, BM_ELEM_SELECT, BM_ELEM_SMOOTH, EditLoopData::bweight, MeshRenderData::bweight_ofs, EditLoopData::crease, MeshRenderData::crease_ofs, EditLoopData::e_flag, MeshRenderData::eed_act, MeshRenderData::efa_act, FreestyleEdge::flag, FREESTYLE_EDGE_MARK, MeshRenderData::freestyle_edge_ofs, NULL, SCE_SELECT_FACE, SCE_SELECT_VERTEX, ToolSettings::selectmode, MeshRenderData::toolsettings, BMEdge::v1, BMEdge::v2, VFLAG_EDGE_ACTIVE, VFLAG_EDGE_FREESTYLE, VFLAG_EDGE_SEAM, VFLAG_EDGE_SELECTED, VFLAG_EDGE_SHARP, and VFLAG_VERT_SELECTED.
Referenced by extract_edit_data_iter_ledge_bm(), extract_edit_data_iter_ledge_mesh(), extract_edit_data_iter_poly_bm(), and extract_edit_data_iter_poly_mesh().
|
static |
Definition at line 3467 of file draw_cache_extract_mesh.c.
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 extract_edit_data_iter_poly_bm(), extract_edit_data_iter_poly_mesh(), extract_edituv_data_iter_poly_bm(), extract_fdots_edituv_data_iter_poly_bm(), and extract_fdots_edituv_data_iter_poly_mesh().
|
static |
Definition at line 443 of file draw_cache_extract_mesh.c.
References MeshRenderData::ledges, MeshRenderData::loop_normals, MeshRenderData::lverts, MEM_freeN, MEM_SAFE_FREE, MeshRenderData::mlooptri, and MeshRenderData::poly_normals.
Referenced by mesh_render_data_update_task_data_free().
|
static |
Definition at line 3574 of file draw_cache_extract_mesh.c.
References l, MeshRenderData::toolsettings, uvedit_edge_select_test_ex(), EditLoopData::v_flag, VFLAG_EDGE_UV_SELECT, and VFLAG_VERT_UV_SELECT.
Referenced by extract_edituv_data_iter_poly_bm(), and extract_edituv_data_iter_poly_mesh().
|
static |
Definition at line 3557 of file draw_cache_extract_mesh.c.
References BM_ELEM_CD_GET_VOID_P, MLoopUV::flag, l, MLOOPUV_PINNED, NULL, MeshRenderData::toolsettings, uvedit_uv_select_test_ex(), EditLoopData::v_flag, VFLAG_VERT_UV_PINNED, and VFLAG_VERT_UV_SELECT.
Referenced by extract_edituv_data_iter_poly_bm(), and extract_edituv_data_iter_poly_mesh().
|
static |
Part of the creation of the MeshRenderData that happens in a thread.
Definition at line 217 of file draw_cache_extract_mesh.c.
References BKE_mesh_recalc_looptri(), 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, NULL, BMesh::totloop, Mesh::totloop, Mesh::totpoly, and MeshRenderData::tri_len.
Referenced by mesh_extract_render_data_node_exec().
|
static |
Definition at line 137 of file draw_cache_extract_mesh.c.
References BLI_BITMAP_ENABLE, BLI_BITMAP_NEW, BLI_BITMAP_TEST, bm, MeshRenderData::bm, BM_EDGES_OF_MESH, BM_ITER_MESH_INDEX, BM_VERTS_OF_MESH, BMVert::e, MeshRenderData::edge_len, MeshRenderData::edge_loose_len, MeshRenderData::extract_type, MEdge::flag, BMEdge::l, MeshRenderData::ledges, MeshRenderData::loop_loose_len, MeshRenderData::lverts, ME_LOOSEEDGE, MeshRenderData::medge, MEM_freeN, MEM_mallocN, MEM_reallocN, MR_EXTRACT_BMESH, NULL, v, MEdge::v1, MEdge::v2, MeshRenderData::vert_len, and MeshRenderData::vert_loose_len.
Referenced by mesh_render_data_create().
|
static |
Definition at line 239 of file draw_cache_extract_mesh.c.
References BKE_mesh_calc_normals_poly(), BKE_mesh_normals_loop_split(), 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, MeshRenderData::mloop, Mesh::mloop, MeshRenderData::mpoly, Mesh::mpoly, MR_DATA_LOOP_NOR, MR_DATA_POLY_NOR, MR_DATA_TAN_LOOP_NOR, MR_EXTRACT_BMESH, MeshRenderData::mvert, Mesh::mvert, NULL, MeshRenderData::poly_len, MeshRenderData::poly_normals, Mesh::smoothresh, MeshRenderData::vert_len, and EditMeshData::vertexCos.
Referenced by mesh_extract_render_data_node_exec().
|
static |
Definition at line 5689 of file draw_cache_extract_mesh.c.
References BLI_assert, MEM_freeN, mesh_render_data_free(), and MeshRenderDataUpdateTaskData::mr.
Referenced by mesh_extract_render_data_node_create().
|
static |
Definition at line 3588 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_SELECT, EditLoopData::e_flag, MeshRenderData::eve_act, VFLAG_VERT_ACTIVE, and VFLAG_VERT_SELECTED.
Referenced by extract_edit_data_iter_ledge_bm(), extract_edit_data_iter_ledge_mesh(), extract_edit_data_iter_lvert_bm(), extract_edit_data_iter_lvert_mesh(), extract_edit_data_iter_poly_bm(), and extract_edit_data_iter_poly_mesh().
Definition at line 4192 of file draw_cache_extract_mesh.c.
References CLAMP, max, and min.
Referenced by statvis_calc_overhang().
Definition at line 4615 of file draw_cache_extract_mesh.c.
Referenced by statvis_calc_sharp().
|
static |
Definition at line 4521 of file draw_cache_extract_mesh.c.
References angle_normalized_v3v3(), BKE_editmesh_cache_ensure_poly_normals(), BMEditMesh::bm, bm, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH_INDEX, BM_loop_calc_face_normal_safe(), BM_loop_calc_face_normal_safe_vcos(), BM_mesh_elem_index_ensure(), MeshRenderData::bm_poly_normals, BM_VERT, MeshRenderData::bm_vert_coords, MVert::co, MeshStatVis::distort_max, MeshStatVis::distort_min, distort_remap(), dot_v3v3(), MeshRenderData::edit_bmesh, MeshRenderData::edit_data, MeshRenderData::extract_type, BMFace::len, MPoly::loopstart, max, max_ff(), min, MeshRenderData::mloop, MeshRenderData::mpoly, MR_EXTRACT_BMESH, MeshRenderData::mvert, negate_v3(), BMLoop::next, BMFace::no, normal_tri_v3(), NULL, MeshRenderData::poly_len, MeshRenderData::poly_normals, ToolSettings::statvis, MeshRenderData::toolsettings, MPoly::totloop, and MLoop::v.
Referenced by extract_mesh_analysis_finish().
|
static |
Definition at line 4442 of file draw_cache_extract_mesh.c.
References BKE_bmbvh_free(), BKE_bmbvh_new_from_editmesh(), BKE_bmbvh_overlap_self(), BKE_bvhtree_from_mesh_get(), BLI_bvhtree_get_epsilon(), BLI_bvhtree_overlap(), BMEditMesh::bm, bm, BM_elem_index_get, BM_FACE, BM_FACE_FIRST_LOOP, BM_mesh_elem_index_ensure(), bvh_overlap_cb(), BVHTREE_FROM_LOOPTRI, data, MeshRenderData::edit_bmesh, MeshRenderData::extract_type, BMLoop::f, BVHTreeOverlap::indexA, BVHTreeOverlap::indexB, BMFace::len, MeshRenderData::loop_len, MPoly::loopstart, BMEditMesh::looptris, MeshRenderData::me, MEM_freeN, MeshRenderData::mlooptri, MeshRenderData::mpoly, MR_EXTRACT_BMESH, NULL, MLoopTri::poly, MPoly::totloop, and tree.
Referenced by extract_mesh_analysis_finish().
|
static |
Definition at line 4208 of file draw_cache_extract_mesh.c.
References angle_normalized_v3v3(), axis_from_enum_v3(), BLI_assert, BMEditMesh::bm, bm, bm_face_no_get(), BM_FACES_OF_MESH, BM_ITER_MESH, MeshRenderData::edit_bmesh, MeshRenderData::extract_type, float(), BMFace::len, M_PI, max, min, MeshRenderData::mpoly, MR_EXTRACT_BMESH, mul_transposed_mat3_m4_v3(), normalize_v3(), MeshRenderData::obmat, MeshStatVis::overhang_axis, MeshStatVis::overhang_max, MeshStatVis::overhang_min, overhang_remap(), MeshRenderData::poly_len, MeshRenderData::poly_normals, ToolSettings::statvis, MeshRenderData::toolsettings, and MPoly::totloop.
Referenced by extract_mesh_analysis_finish().
|
static |
Definition at line 4629 of file draw_cache_extract_mesh.c.
References angle(), angle_normalized_v3v3(), BLI_edgehash_ensure_p(), BLI_edgehash_free(), BLI_edgehash_new_ex(), BLI_edgehashIterator_free(), BLI_edgehashIterator_getKey(), BLI_edgehashIterator_getValue(), BLI_edgehashIterator_isDone(), BLI_edgehashIterator_new(), BLI_edgehashIterator_step(), BMEditMesh::bm, bm, BM_edge_calc_face_angle_signed(), BM_EDGES_OF_MESH, BM_elem_index_get, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, MVert::co, copy_vn_fl(), DEG2RADF, e, MeshRenderData::edge_len, MeshRenderData::edit_bmesh, MeshRenderData::extract_type, is_edge_convex_v3(), MeshRenderData::loop_len, MPoly::loopstart, M_PI, max, max_ff(), MEM_freeN, MEM_mallocN, min, MeshRenderData::mloop, MeshRenderData::mpoly, MR_EXTRACT_BMESH, MeshRenderData::mvert, BMLoop::next, NULL, MeshRenderData::poly_len, MeshRenderData::poly_normals, MeshStatVis::sharp_max, MeshStatVis::sharp_min, sharp_remap(), ToolSettings::statvis, MeshRenderData::toolsettings, MPoly::totloop, BMLoop::v, MLoop::v, v1, v2, and MeshRenderData::vert_len.
Referenced by extract_mesh_analysis_finish().
|
static |
Definition at line 4280 of file draw_cache_extract_mesh.c.
References BKE_bmbvh_free(), BKE_bmbvh_new_from_editmesh(), BKE_bmbvh_ray_cast(), BKE_bvhtree_from_mesh_get(), BLI_assert, BLI_bvhtree_ray_cast(), BLI_jitter_init(), bm, BM_elem_index_get, BM_FACE, bm_face_no_get(), BM_FACES_OF_MESH, BM_ITER_MESH, BM_mesh_elem_index_ensure(), bm_vert_co_get(), BVHTREE_FROM_LOOPTRI, MVert::co, copy_vn_fl(), KDL::cos(), BVHTreeRayHit::dist, dot_v3v3(), MeshRenderData::edit_bmesh, MeshRenderData::extract_type, BMLoop::f, fabsf, BVHTreeRayHit::index, interp_v3_v3v3v3_uv(), BMFace::len, MeshRenderData::loop_len, madd_v3_v3fl(), mat4_to_scale(), max, MeshRenderData::me, min, MeshRenderData::mloop, MeshRenderData::mlooptri, MeshRenderData::mpoly, MR_EXTRACT_BMESH, MeshRenderData::mvert, BVHTreeRayHit::no, normal_tri_v3(), NULL, MeshRenderData::obmat, MLoopTri::poly, MeshRenderData::poly_len, MeshRenderData::poly_normals, BVHTreeFromMesh::raycast_callback, ToolSettings::statvis, MeshStatVis::thickness_max, MeshStatVis::thickness_min, thickness_remap(), MeshStatVis::thickness_samples, MeshRenderData::toolsettings, MPoly::totloop, tree, MLoopTri::tri, MeshRenderData::tri_len, uv_from_jitter_v2(), v, and MLoop::v.
Referenced by extract_mesh_analysis_finish().
Definition at line 4266 of file draw_cache_extract_mesh.c.
References CLAMP, max, and min.
Referenced by statvis_calc_thickness().
|
static |
Definition at line 5787 of file draw_cache_extract_mesh.c.
References extract_init(), LISTBASE_FOREACH, and UserDataInitTaskData::task_datas.
Referenced by user_data_init_task_node_create().
|
static |
Definition at line 5776 of file draw_cache_extract_mesh.c.
References BLI_assert, BLI_listbase_clear(), extract_task_data_free(), LISTBASE_FOREACH_MUTABLE, MEM_freeN, MEM_SAFE_FREE, UserDataInitTaskData::task_counters, and UserDataInitTaskData::task_datas.
Referenced by user_data_init_task_node_create().
|
static |
Definition at line 5795 of file draw_cache_extract_mesh.c.
References BLI_task_graph_node_create(), TaskNode::task_data, user_data_init_task_data_exec(), and user_data_init_task_data_free().
Referenced by mesh_buffer_cache_create_requested().
|
static |
Needed so we can use jitter values for face interpolation.
Definition at line 4254 of file draw_cache_extract_mesh.c.
References clamp_v2().
Referenced by statvis_calc_thickness().
|
static |
Definition at line 3999 of file draw_cache_extract_mesh.c.
References atan2f, float(), M_1_PI, and v.
Referenced by edituv_get_edituv_stretch_angle().
| BLI_INLINE void vert_set_bm | ( | GPUIndexBufBuilder * | elb, |
| BMVert * | eve, | ||
| int | l_index | ||
| ) |
Definition at line 1135 of file draw_cache_extract_mesh.c.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, GPU_indexbuf_set_point_restart(), and GPU_indexbuf_set_point_vert().
Referenced by extract_points_iter_ledge_bm(), extract_points_iter_lvert_bm(), and extract_points_iter_poly_bm().
| BLI_INLINE void vert_set_mesh | ( | GPUIndexBufBuilder * | elb, |
| const MeshRenderData * | mr, | ||
| const int | v_index, | ||
| const int | l_index | ||
| ) |
Definition at line 1146 of file draw_cache_extract_mesh.c.
References MeshRenderData::extract_type, GPU_indexbuf_set_point_restart(), GPU_indexbuf_set_point_vert(), ME_HIDE, MR_EXTRACT_MAPPED, MeshRenderData::mvert, ORIGINDEX_NONE, MeshRenderData::use_hide, and MeshRenderData::v_origindex.
Referenced by extract_points_iter_ledge_mesh(), extract_points_iter_lvert_mesh(), and extract_points_iter_poly_mesh().
|
static |
Definition at line 3284 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 5415 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 3728 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 3837 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 1888 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 1720 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 1794 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 4150 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 3955 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 1643 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 5483 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 1326 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 5173 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 4924 of file draw_cache_extract_mesh.c.
Referenced by extract_task_create().
|
static |
Definition at line 5000 of file draw_cache_extract_mesh.c.
Referenced by extract_task_create().
|
static |
Definition at line 4842 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 5097 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 1072 of file draw_cache_extract_mesh.c.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 1562 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 1406 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 1109 of file draw_cache_extract_mesh.c.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 2450 of file draw_cache_extract_mesh.c.
Referenced by extract_task_create().
|
static |
Definition at line 2358 of file draw_cache_extract_mesh.c.
Referenced by extract_task_create().
|
static |
Definition at line 4757 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 3084 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 1241 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 5407 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 2069 of file draw_cache_extract_mesh.c.
Referenced by extract_task_create().
|
static |
Definition at line 2261 of file draw_cache_extract_mesh.c.
Referenced by extract_task_create().
|
static |
Definition at line 2855 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 5231 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 2738 of file draw_cache_extract_mesh.c.
Referenced by extract_task_create().
|
static |
Definition at line 2756 of file draw_cache_extract_mesh.c.
Referenced by extract_task_create().
|
static |
Definition at line 928 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 2548 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 3004 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 5425 of file draw_cache_extract_mesh.c.
|
static |
Definition at line 3445 of file draw_cache_extract_mesh.c.