Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/draw_cache_impl_mesh.c
| Show First 20 Lines • Show All 1,320 Lines • ▼ Show 20 Lines | if (DRW_batch_requested(cache->batch.edit_lnor, GPU_PRIM_POINTS)) { | ||||
| DRW_vbo_request(cache->batch.edit_lnor, &mbufcache->vbo.pos_nor); | DRW_vbo_request(cache->batch.edit_lnor, &mbufcache->vbo.pos_nor); | ||||
| DRW_vbo_request(cache->batch.edit_lnor, &mbufcache->vbo.lnor); | DRW_vbo_request(cache->batch.edit_lnor, &mbufcache->vbo.lnor); | ||||
| } | } | ||||
| if (DRW_batch_requested(cache->batch.edit_fdots, GPU_PRIM_POINTS)) { | if (DRW_batch_requested(cache->batch.edit_fdots, GPU_PRIM_POINTS)) { | ||||
| DRW_ibo_request(cache->batch.edit_fdots, &mbufcache->ibo.fdots); | DRW_ibo_request(cache->batch.edit_fdots, &mbufcache->ibo.fdots); | ||||
| DRW_vbo_request(cache->batch.edit_fdots, &mbufcache->vbo.fdots_pos); | DRW_vbo_request(cache->batch.edit_fdots, &mbufcache->vbo.fdots_pos); | ||||
| DRW_vbo_request(cache->batch.edit_fdots, &mbufcache->vbo.fdots_nor); | DRW_vbo_request(cache->batch.edit_fdots, &mbufcache->vbo.fdots_nor); | ||||
| } | } | ||||
| if (DRW_batch_requested(cache->batch.edit_skin_roots, GPU_PRIM_LINES)) { | if (DRW_batch_requested(cache->batch.edit_skin_roots, GPU_PRIM_POINTS)) { | ||||
| DRW_vbo_request(cache->batch.edit_skin_roots, &mbufcache->vbo.skin_roots); | DRW_vbo_request(cache->batch.edit_skin_roots, &mbufcache->vbo.skin_roots); | ||||
| /* HACK(fclem): This is to workaround the deferred batch init | |||||
| * that prevent drawing using DRW_shgroup_call_instances_with_attribs. | |||||
| * So we instead create the whole instancing batch here. | |||||
| * Note that we use GPU_PRIM_LINES instead of expected GPU_PRIM_LINE_STRIP | |||||
| * in order to mimic the old stipple pattern. */ | |||||
| cache->batch.edit_skin_roots->inst = cache->batch.edit_skin_roots->verts[0]; | |||||
| cache->batch.edit_skin_roots->verts[0] = NULL; | |||||
| GPUBatch *circle = DRW_cache_screenspace_circle_get(); | |||||
| GPU_batch_vertbuf_add(cache->batch.edit_skin_roots, circle->verts[0]); | |||||
| } | } | ||||
| /* Selection */ | /* Selection */ | ||||
| if (DRW_batch_requested(cache->batch.edit_selection_verts, GPU_PRIM_POINTS)) { | if (DRW_batch_requested(cache->batch.edit_selection_verts, GPU_PRIM_POINTS)) { | ||||
| DRW_ibo_request(cache->batch.edit_selection_verts, &mbufcache->ibo.points); | DRW_ibo_request(cache->batch.edit_selection_verts, &mbufcache->ibo.points); | ||||
| DRW_vbo_request(cache->batch.edit_selection_verts, &mbufcache->vbo.pos_nor); | DRW_vbo_request(cache->batch.edit_selection_verts, &mbufcache->vbo.pos_nor); | ||||
| DRW_vbo_request(cache->batch.edit_selection_verts, &mbufcache->vbo.vert_idx); | DRW_vbo_request(cache->batch.edit_selection_verts, &mbufcache->vbo.vert_idx); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 101 Lines • Show Last 20 Lines | |||||