Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/draw_cache_impl_mesh.c
| Show First 20 Lines • Show All 2,817 Lines • ▼ Show 20 Lines | if (rdata->mapped.use == false) { | ||||
| else { | else { | ||||
| for (int poly = 0; poly < poly_len; poly++) { | for (int poly = 0; poly < poly_len; poly++) { | ||||
| *((uint *)GPU_vertbuf_raw_step(&idx_step)) = poly; | *((uint *)GPU_vertbuf_raw_step(&idx_step)) = poly; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| else { | else { | ||||
| const int *p_origindex = rdata->mapped.p_origindex; | const int *p_origindex = rdata->mapped.p_origindex; | ||||
| if (modifiers_usesSubsurfFacedots(scene, ob)) { | if (modifiers_usesSubsurfFacedots(scene, ob, false)) { | ||||
| Mesh *me_cage = rdata->mapped.me_cage; | Mesh *me_cage = rdata->mapped.me_cage; | ||||
| const MPoly *mpoly = me_cage->mpoly; | const MPoly *mpoly = me_cage->mpoly; | ||||
| for (int p = 0; p < poly_len; p++, mpoly++) { | for (int p = 0; p < poly_len; p++, mpoly++) { | ||||
| const int p_orig = p_origindex[p]; | const int p_orig = p_origindex[p]; | ||||
| if (p_orig != ORIGINDEX_NONE) { | if (p_orig != ORIGINDEX_NONE) { | ||||
| const MLoop *mloop = me_cage->mloop + mpoly->loopstart; | const MLoop *mloop = me_cage->mloop + mpoly->loopstart; | ||||
| for (int l = 0; l < mpoly->totloop; l++, mloop++) { | for (int l = 0; l < mpoly->totloop; l++, mloop++) { | ||||
| if (me_cage->mvert[mloop->v].flag & ME_VERT_FACEDOT) { | if (me_cage->mvert[mloop->v].flag & ME_VERT_FACEDOT) { | ||||
| ▲ Show 20 Lines • Show All 672 Lines • ▼ Show 20 Lines | for (int i = 0; i < poly_len; i++) { | ||||
| attr_id.fdot_nor_flag, | attr_id.fdot_nor_flag, | ||||
| i, | i, | ||||
| facedot_len_used)) { | facedot_len_used)) { | ||||
| facedot_len_used += 1; | facedot_len_used += 1; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| else { | else { | ||||
| if (modifiers_usesSubsurfFacedots(scene, ob)) { | if (modifiers_usesSubsurfFacedots(scene, ob, false)) { | ||||
| /* Facedots that follow surbsurf face center. */ | /* Facedots that follow surbsurf face center. */ | ||||
| Mesh *me_cage = rdata->mapped.me_cage; | Mesh *me_cage = rdata->mapped.me_cage; | ||||
| const MPoly *mpoly = me_cage->mpoly; | const MPoly *mpoly = me_cage->mpoly; | ||||
| for (int p = 0; p < poly_len; p++, mpoly++) { | for (int p = 0; p < poly_len; p++, mpoly++) { | ||||
| const MLoop *mloop = me_cage->mloop + mpoly->loopstart; | const MLoop *mloop = me_cage->mloop + mpoly->loopstart; | ||||
| for (int l = 0; l < mpoly->totloop; l++, mloop++) { | for (int l = 0; l < mpoly->totloop; l++, mloop++) { | ||||
| if (me_cage->mvert[mloop->v].flag & ME_VERT_FACEDOT) { | if (me_cage->mvert[mloop->v].flag & ME_VERT_FACEDOT) { | ||||
| if (add_edit_facedot_subdiv(rdata, | if (add_edit_facedot_subdiv(rdata, | ||||
| ▲ Show 20 Lines • Show All 2,104 Lines • Show Last 20 Lines | |||||