[Bf-blender-cvs] [e4077ea69d5] master: Fix T74626: Wrong Face Sets overlay rendering in smooth shading

Pablo Dobarro noreply at git.blender.org
Mon Mar 16 17:44:12 CET 2020


Commit: e4077ea69d5f6122921f14614f9731add0b78fc7
Author: Pablo Dobarro
Date:   Tue Mar 10 18:33:50 2020 +0100
Branches: master
https://developer.blender.org/rBe4077ea69d5f6122921f14614f9731add0b78fc7

Fix T74626: Wrong Face Sets overlay rendering in smooth shading

The face set color variable needs to be declared inside of the loop in
order to reset it per iteration.

Reviewed By: jbakker

Maniphest Tasks: T74626

Differential Revision: https://developer.blender.org/D7096

===================================================================

M	source/blender/gpu/intern/gpu_buffers.c

===================================================================

diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index 33f61b5f5f4..f21cd990a41 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -266,8 +266,8 @@ void GPU_pbvh_mesh_buffers_update(GPU_PBVH_Buffers *buffers,
         }
 
         /* Face Sets. */
-        uchar face_set_color[4] = {UCHAR_MAX, UCHAR_MAX, UCHAR_MAX, UCHAR_MAX};
         for (uint i = 0; i < buffers->face_indices_len; i++) {
+          uchar face_set_color[4] = {UCHAR_MAX, UCHAR_MAX, UCHAR_MAX, UCHAR_MAX};
           if (show_face_sets) {
             const MLoopTri *lt = &buffers->looptri[buffers->face_indices[i]];
             const int fset = abs(sculpt_face_sets[lt->poly]);



More information about the Bf-blender-cvs mailing list