[Bf-blender-cvs] [7955cb7] master: Fix for "Show Diffuse Color" was having affect on mesh without mask

Sergey Sharybin noreply at git.blender.org
Tue Apr 1 10:00:52 CEST 2014


Commit: 7955cb78d6ec403ee7a3c99f5228532cc44690e4
Author: Sergey Sharybin
Date:   Tue Apr 1 14:00:15 2014 +0600
https://developer.blender.org/rB7955cb78d6ec403ee7a3c99f5228532cc44690e4

Fix for "Show Diffuse Color" was having affect on mesh without mask

Only happened with VBOs enabled.

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

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 9559a75..0518d25 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -1442,7 +1442,7 @@ void GPU_update_mesh_pbvh_buffers(GPU_PBVH_Buffers *buffers, MVert *mvert,
 	int i, j, k;
 
 	buffers->vmask = vmask;
-	buffers->show_diffuse_color = show_diffuse_color;
+	buffers->show_diffuse_color = (vmask == NULL) || show_diffuse_color;
 
 	if (buffers->vert_buf) {
 		int totelem = (buffers->smooth ? totvert : (buffers->tot_tri * 3));
@@ -1657,7 +1657,7 @@ void GPU_update_grid_pbvh_buffers(GPU_PBVH_Buffers *buffers, CCGElem **grids,
 	VertexBufferFormat *vert_data;
 	int i, j, k, x, y;
 
-	buffers->show_diffuse_color = show_diffuse_color;
+	buffers->show_diffuse_color = (key->has_mask == false) || show_diffuse_color;
 
 	/* Build VBO */
 	if (buffers->vert_buf) {
@@ -1892,7 +1892,7 @@ static GLuint gpu_get_grid_buffer(int gridsize, GLenum *index_type, unsigned *to
 }
 
 GPU_PBVH_Buffers *GPU_build_grid_pbvh_buffers(int *grid_indices, int totgrid,
-                                    BLI_bitmap **grid_hidden, int gridsize)
+                                              BLI_bitmap **grid_hidden, int gridsize)
 {
 	GPU_PBVH_Buffers *buffers;
 	int totquad;




More information about the Bf-blender-cvs mailing list