Differential D16893 Diff 59975 source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc
| Show First 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | |||||
| static void extract_edit_data_iter_poly_mesh(const MeshRenderData *mr, | static void extract_edit_data_iter_poly_mesh(const MeshRenderData *mr, | ||||
| const MPoly *mp, | const MPoly *mp, | ||||
| const int mp_index, | const int mp_index, | ||||
| void *_data) | void *_data) | ||||
| { | { | ||||
| EditLoopData *vbo_data = *(EditLoopData **)_data; | EditLoopData *vbo_data = *(EditLoopData **)_data; | ||||
| const MLoop *mloop = mr->mloop; | |||||
| const int ml_index_end = mp->loopstart + mp->totloop; | const int ml_index_end = mp->loopstart + mp->totloop; | ||||
| for (int ml_index = mp->loopstart; ml_index < ml_index_end; ml_index += 1) { | for (int ml_index = mp->loopstart; ml_index < ml_index_end; ml_index += 1) { | ||||
| const MLoop *ml = &mloop[ml_index]; | |||||
| EditLoopData *data = vbo_data + ml_index; | EditLoopData *data = vbo_data + ml_index; | ||||
| memset(data, 0x0, sizeof(*data)); | memset(data, 0x0, sizeof(*data)); | ||||
| BMFace *efa = bm_original_face_get(mr, mp_index); | BMFace *efa = bm_original_face_get(mr, mp_index); | ||||
| BMEdge *eed = bm_original_edge_get(mr, ml->e); | BMVert *eve = bm_original_vert_get(mr, mr->corner_verts[ml_index]); | ||||
| BMVert *eve = bm_original_vert_get(mr, ml->v); | BMEdge *eed = bm_original_edge_get(mr, mr->corner_edges[ml_index]); | ||||
| if (efa) { | if (efa) { | ||||
| mesh_render_data_face_flag(mr, efa, {-1, -1, -1, -1}, data); | mesh_render_data_face_flag(mr, efa, {-1, -1, -1, -1}, data); | ||||
| } | } | ||||
| if (eed) { | if (eed) { | ||||
| mesh_render_data_edge_flag(mr, eed, data); | mesh_render_data_edge_flag(mr, eed, data); | ||||
| } | } | ||||
| if (eve) { | if (eve) { | ||||
| mesh_render_data_vert_flag(mr, eve, data); | mesh_render_data_vert_flag(mr, eve, data); | ||||
| ▲ Show 20 Lines • Show All 92 Lines • Show Last 20 Lines | |||||