Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/draw_manager_data.c
| Show First 20 Lines • Show All 1,028 Lines • ▼ Show 20 Lines | static void drw_sculpt_generate_calls(DRWSculptCallbackData *scd) | ||||
| /* Update draw buffers only for visible nodes while painting. | /* Update draw buffers only for visible nodes while painting. | ||||
| * But do update them otherwise so navigating stays smooth. */ | * But do update them otherwise so navigating stays smooth. */ | ||||
| bool update_only_visible = rv3d && !(rv3d->rflag & RV3D_PAINTING); | bool update_only_visible = rv3d && !(rv3d->rflag & RV3D_PAINTING); | ||||
| if (p && (p->flags & PAINT_SCULPT_DELAY_UPDATES)) { | if (p && (p->flags & PAINT_SCULPT_DELAY_UPDATES)) { | ||||
| update_only_visible = true; | update_only_visible = true; | ||||
| } | } | ||||
| Mesh *mesh = scd->ob->data; | Mesh *mesh = scd->ob->data; | ||||
| BKE_pbvh_update_normals(pbvh, mesh->runtime.subdiv_ccg); | BKE_pbvh_update_normals(pbvh, mesh->runtime.subdiv_ccg, scd->ob->sculpt->pmap); | ||||
| BKE_pbvh_draw_cb(pbvh, | BKE_pbvh_draw_cb(pbvh, | ||||
| update_only_visible, | update_only_visible, | ||||
| &update_frustum, | &update_frustum, | ||||
| &draw_frustum, | &draw_frustum, | ||||
| (void (*)(void *, GPU_PBVH_Buffers *))sculpt_draw_cb, | (void (*)(void *, GPU_PBVH_Buffers *))sculpt_draw_cb, | ||||
| scd); | scd); | ||||
| ▲ Show 20 Lines • Show All 1,077 Lines • Show Last 20 Lines | |||||