diff options
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/GPU_buffers.h | 1 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_buffers.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/gpu/GPU_buffers.h b/source/blender/gpu/GPU_buffers.h index 598d4961e05..0a1d9c3b6d5 100644 --- a/source/blender/gpu/GPU_buffers.h +++ b/source/blender/gpu/GPU_buffers.h @@ -96,6 +96,7 @@ enum { */ void GPU_pbvh_mesh_buffers_update(GPU_PBVH_Buffers *buffers, const struct MVert *mvert, + const float (*vert_normals)[3], const float *vmask, const struct MLoopCol *vcol, const int *sculpt_face_sets, diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c index bd24616820a..dd53bea4eca 100644 --- a/source/blender/gpu/intern/gpu_buffers.c +++ b/source/blender/gpu/intern/gpu_buffers.c @@ -210,6 +210,7 @@ static bool gpu_pbvh_is_looptri_visible(const MLoopTri *lt, void GPU_pbvh_mesh_buffers_update(GPU_PBVH_Buffers *buffers, const MVert *mvert, + const float (*vert_normals)[3], const float *vmask, const MLoopCol *vcol, const int *sculpt_face_sets, @@ -292,7 +293,7 @@ void GPU_pbvh_mesh_buffers_update(GPU_PBVH_Buffers *buffers, copy_v3_v3(GPU_vertbuf_raw_step(&pos_step), v->co); if (buffers->smooth) { - copy_v3_v3_short(no, v->no); + normal_float_to_short_v3(no, vert_normals[vtri[j]]); } copy_v3_v3_short(GPU_vertbuf_raw_step(&nor_step), no); |