Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/mesh_extractors/extract_mesh.h
- This file was moved from source/blender/draw/intern/draw_cache_extract_mesh_private.h.
| Show First 20 Lines • Show All 95 Lines • ▼ Show 20 Lines | typedef struct MeshRenderData { | ||||
| BMEdge *eed_act; | BMEdge *eed_act; | ||||
| BMFace *efa_act; | BMFace *efa_act; | ||||
| BMFace *efa_act_uv; | BMFace *efa_act_uv; | ||||
| /* Data created on-demand (usually not for #BMesh based data). */ | /* Data created on-demand (usually not for #BMesh based data). */ | ||||
| MLoopTri *mlooptri; | MLoopTri *mlooptri; | ||||
| float (*loop_normals)[3]; | float (*loop_normals)[3]; | ||||
| float (*poly_normals)[3]; | float (*poly_normals)[3]; | ||||
| int *lverts, *ledges; | int *lverts, *ledges; | ||||
| struct { | struct { | ||||
| int *tri; | int *tri_first_index; | ||||
| int *mat_tri_len; | |||||
| int visible_tri_len; | int visible_tri_len; | ||||
| } mat_offsets; | } poly_sorted; | ||||
| } MeshRenderData; | } MeshRenderData; | ||||
| BLI_INLINE BMFace *bm_original_face_get(const MeshRenderData *mr, int idx) | BLI_INLINE BMFace *bm_original_face_get(const MeshRenderData *mr, int idx) | ||||
| { | { | ||||
| return ((mr->p_origindex != NULL) && (mr->p_origindex[idx] != ORIGINDEX_NONE) && mr->bm) ? | return ((mr->p_origindex != NULL) && (mr->p_origindex[idx] != ORIGINDEX_NONE) && mr->bm) ? | ||||
| BM_face_at_index(mr->bm, mr->p_origindex[idx]) : | BM_face_at_index(mr->bm, mr->p_origindex[idx]) : | ||||
| NULL; | NULL; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 119 Lines • ▼ Show 20 Lines | typedef struct MeshExtract { | ||||
| */ | */ | ||||
| size_t mesh_buffer_offset; | size_t mesh_buffer_offset; | ||||
| } MeshExtract; | } MeshExtract; | ||||
| /** \} */ | /** \} */ | ||||
| /* draw_cache_extract_mesh_render_data.c */ | /* draw_cache_extract_mesh_render_data.c */ | ||||
| MeshRenderData *mesh_render_data_create(Mesh *me, | MeshRenderData *mesh_render_data_create(Mesh *me, | ||||
| MeshBufferExtractionCache *cache, | |||||
| const bool is_editmode, | const bool is_editmode, | ||||
| const bool is_paint_mode, | const bool is_paint_mode, | ||||
| const bool is_mode_active, | const bool is_mode_active, | ||||
| const float obmat[4][4], | const float obmat[4][4], | ||||
| const bool do_final, | const bool do_final, | ||||
| const bool do_uvedit, | const bool do_uvedit, | ||||
| const ToolSettings *ts, | const ToolSettings *ts); | ||||
| const eMRIterType iter_type); | |||||
| void mesh_render_data_free(MeshRenderData *mr); | void mesh_render_data_free(MeshRenderData *mr); | ||||
| void mesh_render_data_update_normals(MeshRenderData *mr, const eMRDataType data_flag); | void mesh_render_data_update_normals(MeshRenderData *mr, const eMRDataType data_flag); | ||||
| void mesh_render_data_update_mat_offsets(MeshRenderData *mr, | void mesh_render_data_update_loose_geom(MeshRenderData *mr, | ||||
| MeshBufferExtractionCache *cache, | |||||
| const eMRIterType iter_type, | |||||
| const eMRDataType data_flag); | |||||
| void mesh_render_data_update_polys_sorted(MeshRenderData *mr, | |||||
| MeshBufferExtractionCache *cache, | MeshBufferExtractionCache *cache, | ||||
| const eMRDataType data_flag); | const eMRDataType data_flag); | ||||
| void mesh_render_data_update_looptris(MeshRenderData *mr, | void mesh_render_data_update_looptris(MeshRenderData *mr, | ||||
| const eMRIterType iter_type, | const eMRIterType iter_type, | ||||
| const eMRDataType data_flag); | const eMRDataType data_flag); | ||||
| /* draw_cache_extract_mesh_extractors.c */ | /* draw_cache_extract_mesh_extractors.c */ | ||||
| typedef struct EditLoopData { | typedef struct EditLoopData { | ||||
| uchar v_flag; | uchar v_flag; | ||||
| uchar e_flag; | uchar e_flag; | ||||
| ▲ Show 20 Lines • Show All 66 Lines • Show Last 20 Lines | |||||