[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16902] trunk/blender/source/blender: Fix for part of bug #17464, though not the original issue yet.

Brecht Van Lommel brecht at blender.org
Fri Oct 3 21:34:49 CEST 2008


Revision: 16902
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16902
Author:   blendix
Date:     2008-10-03 21:34:49 +0200 (Fri, 03 Oct 2008)

Log Message:
-----------
Fix for part of bug #17464, though not the original issue yet. A GLSL
shadow drawing fix also affected 3d view opengl render, hiding armatures,
now there's separate flags for it.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_global.h
    trunk/blender/source/blender/src/buttons_editing.c
    trunk/blender/source/blender/src/drawarmature.c
    trunk/blender/source/blender/src/drawobject.c
    trunk/blender/source/blender/src/drawview.c
    trunk/blender/source/blender/src/view.c

Modified: trunk/blender/source/blender/blenkernel/BKE_global.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_global.h	2008-10-03 19:30:45 UTC (rev 16901)
+++ trunk/blender/source/blender/blenkernel/BKE_global.h	2008-10-03 19:34:49 UTC (rev 16902)
@@ -157,10 +157,10 @@
 /* **************** GLOBAL ********************* */
 
 /* G.f */
-#define G_DISABLE_OK	(1 <<  0)
+#define G_RENDER_OGL	(1 <<  0)
 #define G_PLAYANIM		(1 <<  1)
 /* also uses G_FILE_AUTOPLAY */
-#define G_SIMULATION	(1 <<  3)
+#define G_RENDER_SHADOW	(1 <<  3)
 #define G_BACKBUFSEL	(1 <<  4)
 #define G_PICKSEL		(1 <<  5)
 #define G_DRAWNORMALS	(1 <<  6)

Modified: trunk/blender/source/blender/src/buttons_editing.c
===================================================================
--- trunk/blender/source/blender/src/buttons_editing.c	2008-10-03 19:30:45 UTC (rev 16901)
+++ trunk/blender/source/blender/src/buttons_editing.c	2008-10-03 19:34:49 UTC (rev 16902)
@@ -4952,9 +4952,7 @@
 		if( select_area(SPACE_VIEW3D)) spin_mesh(G.scene->toolsettings->step, G.scene->toolsettings->degr, 0, 1);
 		break;
 	case B_EXTR:
-		G.f |= G_DISABLE_OK;
 		if( select_area(SPACE_VIEW3D)) extrude_mesh();
-		G.f -= G_DISABLE_OK;
 		break;
 	case B_SCREW:
 		if( select_area(SPACE_VIEW3D)) screw_mesh(G.scene->toolsettings->step, G.scene->toolsettings->turn);
@@ -4963,9 +4961,7 @@
 		if( select_area(SPACE_VIEW3D)) extrude_repeat_mesh(G.scene->toolsettings->step, G.scene->toolsettings->extr_offs);
 		break;
 	case B_SPLIT:
-		G.f |= G_DISABLE_OK;
 		split_mesh();
-		G.f -= G_DISABLE_OK;
 		break;
 	case B_REMDOUB:
 		count= removedoublesflag(1, 0, G.scene->toolsettings->doublimit);

Modified: trunk/blender/source/blender/src/drawarmature.c
===================================================================
--- trunk/blender/source/blender/src/drawarmature.c	2008-10-03 19:30:45 UTC (rev 16901)
+++ trunk/blender/source/blender/src/drawarmature.c	2008-10-03 19:34:49 UTC (rev 16902)
@@ -2506,7 +2506,7 @@
 	bArmature *arm= ob->data;
 	int retval= 0;
 
-	if(G.f & G_SIMULATION)
+	if(G.f & G_RENDER_SHADOW)
 		return 1;
 	
 	if(dt>OB_WIRE && arm->drawtype!=ARM_LINE) {

Modified: trunk/blender/source/blender/src/drawobject.c
===================================================================
--- trunk/blender/source/blender/src/drawobject.c	2008-10-03 19:30:45 UTC (rev 16901)
+++ trunk/blender/source/blender/src/drawobject.c	2008-10-03 19:34:49 UTC (rev 16902)
@@ -281,7 +281,7 @@
 	float v2[3]= {0.0, 0.0, 0.0};
 	float v3[3]= {0.0, 0.0, 0.0};
 
-	if(G.f & G_SIMULATION)
+	if(G.f & G_RENDER_SHADOW)
 		return;
 	
 	switch(drawtype) {
@@ -666,7 +666,7 @@
 	float imat[4][4], curcol[4];
 	char col[4];
 
-	if(G.f & G_SIMULATION)
+	if(G.f & G_RENDER_SHADOW)
 		return;
 	
 	la= ob->data;
@@ -958,7 +958,7 @@
 	float vec[8][4], tmat[4][4], fac, facx, facy, depth;
 	int i;
 
-	if(G.f & G_SIMULATION)
+	if(G.f & G_RENDER_SHADOW)
 		return;
 
 	cam= ob->data;
@@ -1768,7 +1768,7 @@
 	float v1[3], v2[3], v3[3], v4[3], fvec[3], col[3];
 	char val[32];
 
-	if(G.f & G_SIMULATION)
+	if(G.f & G_RENDER_SHADOW)
 		return;
 	
 	if(G.vd->zbuf && (G.vd->flag & V3D_ZBUF_SELECT)==0)
@@ -1834,7 +1834,7 @@
 	char conv_float[5]; /* Use a float conversion matching the grid size */
 	float area, col[3]; /* area of the face,  color of the text to draw */
 	
-	if(G.f & G_SIMULATION)
+	if(G.f & (G_RENDER_OGL|G_RENDER_SHADOW))
 		return;
 
 	/* make the precission of the pronted value proportionate to the gridsize */
@@ -5164,7 +5164,7 @@
 	}
 
 	/* draw extra: after normal draw because of makeDispList */
-	if(dtx && !(G.f & G_SIMULATION)) {
+	if(dtx && !(G.f & (G_RENDER_OGL|G_RENDER_SHADOW))) {
 		if(dtx & OB_AXIS) {
 			drawaxes(1.0f, flag, OB_ARROWS);
 		}
@@ -5204,7 +5204,7 @@
 
 	if(warning_recursive) return;
 	if(base->flag & (OB_FROMDUPLI|OB_RADIO)) return;
-	if(G.f & G_SIMULATION) return;
+	if(G.f & G_RENDER_SHADOW) return;
 
 	/* object centers, need to be drawn in viewmat space for speed, but OK for picking select */
 	if(ob!=OBACT || (G.f & (G_VERTEXPAINT|G_TEXTUREPAINT|G_WEIGHTPAINT))==0) {

Modified: trunk/blender/source/blender/src/drawview.c
===================================================================
--- trunk/blender/source/blender/src/drawview.c	2008-10-03 19:30:45 UTC (rev 16901)
+++ trunk/blender/source/blender/src/drawview.c	2008-10-03 19:34:49 UTC (rev 16902)
@@ -3129,13 +3129,9 @@
 	}
 	
 	if(v3d->drawtype > OB_WIRE) {
-		if(G.f & G_SIMULATION)
-			glClearColor(0.0, 0.0, 0.0, 0.0); 
-		else {
-			float col[3];
-			BIF_GetThemeColor3fv(TH_BACK, col);
-			glClearColor(col[0], col[1], col[2], 0.0); 
-		}
+		float col[3];
+		BIF_GetThemeColor3fv(TH_BACK, col);
+		glClearColor(col[0], col[1], col[2], 0.0); 
 		glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
 		
 		glLoadIdentity();
@@ -3423,8 +3419,9 @@
 	}
 	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
-	/* abuse! to make sure it doesnt draw the helpstuff */
-	G.f |= G_SIMULATION;
+	G.f |= G_RENDER_OGL;
+	if(shadow)
+		G.f |= G_RENDER_SHADOW;
 
 	/* first draw set */
 	if(G.scene->set) {
@@ -3500,7 +3497,7 @@
 		draw_gpencil_oglrender(v3d, winx, winy);
 	}
 	
-	G.f &= ~G_SIMULATION;
+	G.f &= ~(G_RENDER_OGL|G_RENDER_SHADOW);
 
 	if(!shadow) {
 		glFlush();

Modified: trunk/blender/source/blender/src/view.c
===================================================================
--- trunk/blender/source/blender/src/view.c	2008-10-03 19:30:45 UTC (rev 16901)
+++ trunk/blender/source/blender/src/view.c	2008-10-03 19:34:49 UTC (rev 16902)
@@ -1266,7 +1266,6 @@
 			mvalo[1]= mval[1];
 
 			if(G.f & G_PLAYANIM) inner_play_anim_loop(0, 0);
-			if(G.f & G_SIMULATION) break;
 
 			/* If in retopo paint mode, update lines */
 			if(retopo_mesh_paint_check() && G.vd->retopo_view_data) {





More information about the Bf-blender-cvs mailing list