[Bf-blender-cvs] [e90fea7] master: Fix T45654 fast navigate artifacts.

Antony Riakiotakis noreply at git.blender.org
Mon Aug 3 17:47:24 CEST 2015


Commit: e90fea72c1430d270ccf4b5c3880f7e25e35947e
Author: Antony Riakiotakis
Date:   Mon Aug 3 17:47:03 2015 +0200
Branches: master
https://developer.blender.org/rBe90fea72c1430d270ccf4b5c3880f7e25e35947e

Fix T45654 fast navigate artifacts.

Was overdrawing the buffer, in case of fast drawing just use one
draw call. Should also make performance quite smoother.

Note:
Just discovered we are doing one draw call - per grid - in multires
apparently to keep reusing the same element buffer.
This is horribly, dreadfully slow and will check about fixing it later.

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

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 2e1b866..16dfa18 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -2012,7 +2012,7 @@ void GPU_draw_pbvh_buffers(GPU_PBVH_Buffers *buffers, DMSetMaterial setMaterial,
 
 		if (buffers->tot_quad) {
 			const char *offset = base;
-			int i, last = buffers->has_hidden ? 1 : buffers->totgrid;
+			int i, last = (buffers->has_hidden || do_fast) ? 1 : buffers->totgrid;
 			for (i = 0; i < last; i++) {
 				glVertexPointer(3, GL_FLOAT, sizeof(VertexBufferFormat),
 				                offset + offsetof(VertexBufferFormat, co));




More information about the Bf-blender-cvs mailing list