Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/draw_cache_impl_subdivision.cc
| Show First 20 Lines • Show All 1,947 Lines • ▼ Show 20 Lines | static bool draw_subdiv_create_requested_buffers(const Scene *scene, | ||||
| const bool optimal_display = (smd->flags & eSubsurfModifierFlag_ControlEdges) || is_editmode; | const bool optimal_display = (smd->flags & eSubsurfModifierFlag_ControlEdges) || is_editmode; | ||||
| draw_cache->bm = bm; | draw_cache->bm = bm; | ||||
| draw_cache->mesh = mesh_eval; | draw_cache->mesh = mesh_eval; | ||||
| draw_cache->subdiv = subdiv; | draw_cache->subdiv = subdiv; | ||||
| draw_cache->optimal_display = optimal_display; | draw_cache->optimal_display = optimal_display; | ||||
| draw_cache->num_subdiv_triangles = tris_count_from_number_of_loops(draw_cache->num_subdiv_loops); | draw_cache->num_subdiv_triangles = tris_count_from_number_of_loops(draw_cache->num_subdiv_loops); | ||||
| /* Copy topology information for stats display. Use `mesh` directly, as `mesh_eval` could be the | |||||
| * edit mesh. */ | |||||
| mesh->runtime.subsurf_totvert = draw_cache->num_subdiv_verts; | |||||
| mesh->runtime.subsurf_totedge = draw_cache->num_subdiv_edges; | |||||
| mesh->runtime.subsurf_totpoly = draw_cache->num_subdiv_quads; | |||||
| mesh->runtime.subsurf_totloop = draw_cache->num_subdiv_loops; | |||||
| draw_cache->use_custom_loop_normals = (smd->flags & eSubsurfModifierFlag_UseCustomNormals) && | draw_cache->use_custom_loop_normals = (smd->flags & eSubsurfModifierFlag_UseCustomNormals) && | ||||
| (mesh_eval->flag & ME_AUTOSMOOTH) && | (mesh_eval->flag & ME_AUTOSMOOTH) && | ||||
| CustomData_has_layer(&mesh_eval->ldata, | CustomData_has_layer(&mesh_eval->ldata, | ||||
| CD_CUSTOMLOOPNORMAL); | CD_CUSTOMLOOPNORMAL); | ||||
| if (DRW_ibo_requested(mbc->buff.ibo.tris)) { | if (DRW_ibo_requested(mbc->buff.ibo.tris)) { | ||||
| draw_subdiv_cache_ensure_mat_offsets(draw_cache, mesh_eval, batch_cache->mat_len); | draw_subdiv_cache_ensure_mat_offsets(draw_cache, mesh_eval, batch_cache->mat_len); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 204 Lines • Show Last 20 Lines | |||||