[Bf-blender-cvs] [dc9a7f861f] blender2.8: Edit Mode overlay: Optimisation

Clément Foucault noreply at git.blender.org
Mon Mar 6 04:10:23 CET 2017


Commit: dc9a7f861fa43fecae7450ee254a711b061c0c26
Author: Clément Foucault
Date:   Mon Mar 6 04:07:54 2017 +0100
Branches: blender2.8
https://developer.blender.org/rBdc9a7f861fa43fecae7450ee254a711b061c0c26

Edit Mode overlay: Optimisation

Don't generate more verts than we need if we don't render vertex.
Getting a big boost from 12fps to 20fps on my test scene

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

M	source/blender/draw/modes/shaders/edit_overlay_geom_tri.glsl

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

diff --git a/source/blender/draw/modes/shaders/edit_overlay_geom_tri.glsl b/source/blender/draw/modes/shaders/edit_overlay_geom_tri.glsl
index 59d7971f94..7d9deeec39 100644
--- a/source/blender/draw/modes/shaders/edit_overlay_geom_tri.glsl
+++ b/source/blender/draw/modes/shaders/edit_overlay_geom_tri.glsl
@@ -57,8 +57,12 @@ layout(triangles) in;
  * TODO diagram
  */
 
+#ifdef VERTEX_SELECTION
 layout(triangle_strip, max_vertices=23) out;
 #else
+layout(triangle_strip, max_vertices=17) out;
+#endif
+#else
 layout(triangle_strip, max_vertices=3) out;
 #endif
 
@@ -290,8 +294,10 @@ void main()
 
 			/* corner vertices should not drax edges but draw point only */
 			flag[2] = (vData[vbe].x << 8);
+#ifdef VERTEX_SELECTION
 			doVertex(vaf, pPos[vaf]);
 			doVertex(vaf, pPos[vaf] + vec4(cornervec[vaf], 0.0, 0.0));
+#endif
 		}
 
 		/* finish the loop strip */




More information about the Bf-blender-cvs mailing list