diff options
author | Joseph Eagar <joeedh@gmail.com> | 2022-06-30 07:04:07 +0300 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2022-06-30 07:05:21 +0300 |
commit | 3cefa13770a1a76f223e3183c494edf533739a2e (patch) | |
tree | dbf0af49dadaf40b16edd6fe1a9ef626c8138c92 /source/blender/blenkernel/intern/pbvh.c | |
parent | feeb8310c80ec991d1dd060737dc30f3e1cff93a (diff) |
Fix T98886: PBVH_GRIDS ignores face smooth flag on first gpu build
Diffstat (limited to 'source/blender/blenkernel/intern/pbvh.c')
-rw-r--r-- | source/blender/blenkernel/intern/pbvh.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/pbvh.c b/source/blender/blenkernel/intern/pbvh.c index 5e5443f48ca..00a4eee47e3 100644 --- a/source/blender/blenkernel/intern/pbvh.c +++ b/source/blender/blenkernel/intern/pbvh.c @@ -1316,9 +1316,14 @@ static void pbvh_update_draw_buffer_cb(void *__restrict userdata, if (node->flag & PBVH_RebuildDrawBuffers) { switch (pbvh->type) { - case PBVH_GRIDS: - node->draw_buffers = GPU_pbvh_grid_buffers_build(node->totprim, pbvh->grid_hidden); + case PBVH_GRIDS: { + bool smooth = node->totprim > 0 ? + pbvh->grid_flag_mats[node->prim_indices[0]].flag & ME_SMOOTH : + false; + + node->draw_buffers = GPU_pbvh_grid_buffers_build(node->totprim, pbvh->grid_hidden, smooth); break; + } case PBVH_FACES: node->draw_buffers = GPU_pbvh_mesh_buffers_build( pbvh->mpoly, |