[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38499] branches/soc-2011-radish/source/ blender/blenkernel/intern/cdderivedmesh.c: avoid setting the color for every loop

Campbell Barton ideasman42 at gmail.com
Tue Jul 19 02:06:45 CEST 2011


Revision: 38499
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38499
Author:   campbellbarton
Date:     2011-07-19 00:06:43 +0000 (Tue, 19 Jul 2011)
Log Message:
-----------
avoid setting the color for every loop

Modified Paths:
--------------
    branches/soc-2011-radish/source/blender/blenkernel/intern/cdderivedmesh.c

Modified: branches/soc-2011-radish/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- branches/soc-2011-radish/source/blender/blenkernel/intern/cdderivedmesh.c	2011-07-18 23:29:37 UTC (rev 38498)
+++ branches/soc-2011-radish/source/blender/blenkernel/intern/cdderivedmesh.c	2011-07-19 00:06:43 UTC (rev 38499)
@@ -275,14 +275,23 @@
 	MVert *mv = cddm->mvert;
 	int i;
 	if( GPU_buffer_legacy(dm) ) {
+		char prev_sel= 0; /* always invalid */;
+
 		glBegin(GL_POINTS);
 		for(i = 0; i < dm->numVertData; i++, mv++) {
-			if((mv->flag & 1)) {//TODO define selected
-				glColor3f(1.0f, 1.0f, 0.0f);
-			}else {
-				glColor3f(0.0f, 0.0f, 0.0f);
-			}
 			if(!(mv->flag & ME_HIDE)) {
+				const char sel= mv->flag & 1;
+				if(prev_sel != sel) {
+					prev_sel= sel;
+
+					// TODO define selected color
+					if(sel) {
+						glColor3f(1.0f, 1.0f, 0.0f);
+					}else {
+						glColor3f(0.0f, 0.0f, 0.0f);
+					}
+				}
+
 				glVertex3fv(mv->co);
 			}
 		}




More information about the Bf-blender-cvs mailing list