[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12042] trunk/blender/source/blender: new view option, SolidTex, to draw textures in solid mode.

Campbell Barton cbarton at metavr.com
Sat Sep 15 20:12:16 CEST 2007


Revision: 12042
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12042
Author:   campbellbarton
Date:     2007-09-15 20:12:16 +0200 (Sat, 15 Sep 2007)

Log Message:
-----------
new view option, SolidTex, to draw textures in solid mode.
In the view panel as well as the shortcut Shift+T

this works in editmode as well as object mode

giving results like this
http://members.optusnet.com.au/cjbarton/temp1.jpg

where before you could only see textures in textured draw type like this
http://members.optusnet.com.au/cjbarton/temp2.jpg

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
    trunk/blender/source/blender/makesdna/DNA_space_types.h
    trunk/blender/source/blender/makesdna/DNA_view3d_types.h
    trunk/blender/source/blender/python/api2_2x/Window.c
    trunk/blender/source/blender/src/buttons_object.c
    trunk/blender/source/blender/src/drawmesh.c
    trunk/blender/source/blender/src/drawobject.c
    trunk/blender/source/blender/src/drawview.c
    trunk/blender/source/blender/src/header_image.c
    trunk/blender/source/blender/src/space.c

Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2007-09-15 10:43:13 UTC (rev 12041)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2007-09-15 18:12:16 UTC (rev 12042)
@@ -1793,7 +1793,7 @@
 					/* this includes normals for mesh_create_shadedColors */
 					mask |= CD_MASK_MTFACE | CD_MASK_MCOL | CD_MASK_NORMAL;
 				}
-				if(view->drawtype == OB_TEXTURE) {
+				if((view->drawtype == OB_TEXTURE) || ((view->drawtype == OB_SOLID) && (view->flag2 & V3D_SOLID_TEX))) {
 					mask |= CD_MASK_MTFACE | CD_MASK_MCOL;
 				}
 			}

Modified: trunk/blender/source/blender/makesdna/DNA_space_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_space_types.h	2007-09-15 10:43:13 UTC (rev 12041)
+++ trunk/blender/source/blender/makesdna/DNA_space_types.h	2007-09-15 18:12:16 UTC (rev 12042)
@@ -461,24 +461,25 @@
 #define SI_SHOW			1
 
 /* SpaceImage->flag */
-#define SI_BE_SQUARE	1
-#define SI_EDITTILE		2
-#define SI_CLIP_UV		4
-#define SI_DRAWTOOL		8
-#define SI_STICKYUVS    16
-#define SI_DRAWSHADOW   32
-#define SI_SELACTFACE   64
-#define SI_DEPRECATED	128
-#define SI_LOCALSTICKY  256
-#define SI_COORDFLOATS  512
-#define SI_PIXELSNAP	1024
-#define SI_LIVE_UNWRAP	2048
-#define SI_USE_ALPHA	0x1000
-#define SI_SHOW_ALPHA	0x2000
-#define SI_SHOW_ZBUF	0x4000
+#define SI_BE_SQUARE	1<<0
+#define SI_EDITTILE		1<<1
+#define SI_CLIP_UV		1<<2
+#define SI_DRAWTOOL		1<<3
+#define SI_STICKYUVS    1<<4
+#define SI_DRAWSHADOW   1<<5
+#define SI_SELACTFACE   1<<6
+#define SI_DEPRECATED	1<<7
+#define SI_LOCALSTICKY  1<<8
+#define SI_COORDFLOATS  1<<9
+#define SI_PIXELSNAP	1<<10
+#define SI_LIVE_UNWRAP	1<<11
+#define SI_USE_ALPHA	1<<12
+#define SI_SHOW_ALPHA	1<<13
+#define SI_SHOW_ZBUF	1<<14
 		/* next two for render window dislay */
-#define SI_PREVSPACE	0x8000
-#define SI_FULLWINDOW	0x10000
+#define SI_PREVSPACE	1<<15
+#define SI_FULLWINDOW	1<<16
+#define SI_SYNC_UVSEL	1<<17
 
 /* SpaceText flags (moved from DNA_text_types.h) */
 

Modified: trunk/blender/source/blender/makesdna/DNA_view3d_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_view3d_types.h	2007-09-15 10:43:13 UTC (rev 12041)
+++ trunk/blender/source/blender/makesdna/DNA_view3d_types.h	2007-09-15 18:12:16 UTC (rev 12042)
@@ -164,10 +164,12 @@
 #define V3D_CLIPPING		16384
 #define V3D_DRAW_CENTERS	32768
 
+
 /* View3d->flag2 (short) */
 #define V3D_OPP_DIRECTION_NAME	1
 #define V3D_FLYMODE				2
 #define V3D_TRANSFORM_SNAP		4
+#define V3D_SOLID_TEX			8
 
 /* View3d->snap_target */
 #define V3D_SNAP_TARGET_CLOSEST	0

Modified: trunk/blender/source/blender/python/api2_2x/Window.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Window.c	2007-09-15 10:43:13 UTC (rev 12041)
+++ trunk/blender/source/blender/python/api2_2x/Window.c	2007-09-15 18:12:16 UTC (rev 12042)
@@ -993,7 +993,6 @@
 		}
 		
 		if (winid==-1) {
-			printf("Doing WINIID NOT!!!\n");
 			/* set scene and viewport */
 			G.scene->lay = layer;
 			if (G.vd) {

Modified: trunk/blender/source/blender/src/buttons_object.c
===================================================================
--- trunk/blender/source/blender/src/buttons_object.c	2007-09-15 10:43:13 UTC (rev 12041)
+++ trunk/blender/source/blender/src/buttons_object.c	2007-09-15 18:12:16 UTC (rev 12042)
@@ -2424,7 +2424,6 @@
 	
 	uiDefButBitC(block, TOG, OB_DRAWTRANSP, REDRAWVIEW3D, "Transp",	120, 40, 90, 20, &ob->dtx, 0, 0, 0, 0, "Enables transparent materials for the active object (Mesh only)");
 	uiDefButBitC(block, TOG, OB_DRAWXRAY, REDRAWVIEW3D, "X-ray",	210, 40, 90, 20, &ob->dtx, 0, 0, 0, 0, "Makes the active object draw in front of others");
-	
 }
 
 void object_panel_constraint(char *context)

Modified: trunk/blender/source/blender/src/drawmesh.c
===================================================================
--- trunk/blender/source/blender/src/drawmesh.c	2007-09-15 10:43:13 UTC (rev 12041)
+++ trunk/blender/source/blender/src/drawmesh.c	2007-09-15 18:12:16 UTC (rev 12042)
@@ -1201,7 +1201,7 @@
 #endif
 
 	/* draw game engine text hack - but not if we are editing the mesh */
-	if (get_property(ob, "Text") && me->mtface) {
+	if (me->mtface && get_property(ob, "Text")) {
 		if(ob==G.obedit)
 			editing= 1;
 		else if(ob==OBACT)

Modified: trunk/blender/source/blender/src/drawobject.c
===================================================================
--- trunk/blender/source/blender/src/drawobject.c	2007-09-15 10:43:13 UTC (rev 12041)
+++ trunk/blender/source/blender/src/drawobject.c	2007-09-15 18:12:16 UTC (rev 12042)
@@ -1947,10 +1947,10 @@
 	EM_init_index_arrays(1, 1, 1);
 
 	if(dt>OB_WIRE) {
-		if(G.vd->drawtype==OB_TEXTURE && dt>OB_SOLID) {
+		if(		(G.vd->drawtype==OB_TEXTURE && dt>OB_SOLID) ||
+				(G.vd->drawtype==OB_SOLID && G.vd->flag2 & V3D_SOLID_TEX)
+		) {
 			draw_mesh_textured(ob, finalDM, 0);
-		} else if(G.vd->drawtype==OB_SHADED && dt>OB_SOLID) {
-			draw_mesh_textured(ob, finalDM, 0);
 		} else {
 			glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, me->flag & ME_TWOSIDED);
 
@@ -2257,7 +2257,10 @@
 	else if(dt==OB_WIRE || totface==0) {
 		draw_wire = 1;
 	}
-	else if( (ob==OBACT && (G.f & G_TEXTUREPAINT || FACESEL_PAINT_TEST)) || (G.vd->drawtype==OB_TEXTURE && dt>OB_SOLID)) {
+	else if(	(ob==OBACT && (G.f & G_TEXTUREPAINT || FACESEL_PAINT_TEST)) ||
+				(G.vd->drawtype==OB_TEXTURE && dt>OB_SOLID) ||
+				(G.vd->drawtype==OB_SOLID && G.vd->flag2 & V3D_SOLID_TEX))
+	{
 		int faceselect= (ob==OBACT && FACESEL_PAINT_TEST);
 
 		if ((G.vd->flag&V3D_SELECT_OUTLINE) && (base->flag&SELECT) && !(G.f&G_PICKSEL || FACESEL_PAINT_TEST) && !draw_wire) {
@@ -4239,7 +4242,7 @@
 				BMF_DrawString(G.font, ob->id.name+2);
 			}
 		}
-		if(dtx & OB_DRAWIMAGE) drawDispListwire(&ob->disp);
+		/*if(dtx & OB_DRAWIMAGE) drawDispListwire(&ob->disp);*/
 		if((dtx & OB_DRAWWIRE) && dt>=OB_SOLID) drawWireExtra(ob);
 	}
 

Modified: trunk/blender/source/blender/src/drawview.c
===================================================================
--- trunk/blender/source/blender/src/drawview.c	2007-09-15 10:43:13 UTC (rev 12041)
+++ trunk/blender/source/blender/src/drawview.c	2007-09-15 18:12:16 UTC (rev 12042)
@@ -2474,6 +2474,7 @@
 	uiDefButBitS(block, TOG, V3D_SELECT_OUTLINE, REDRAWVIEW3D, "Outline Selected", 10, 30, 140, 19, &vd->flag, 0, 0, 0, 0, "Highlight selected objects with an outline, in Solid, Shaded or Textured viewport shading modes");
 	uiDefButBitS(block, TOG, V3D_DRAW_CENTERS, REDRAWVIEW3D, "All Object Centers", 10, 10, 140, 19, &vd->flag, 0, 0, 0, 0, "Draw the center points on all objects");
 	uiDefButBitS(block, TOGN, V3D_HIDE_HELPLINES, REDRAWVIEW3D, "Relationship Lines", 10, -10, 140, 19, &vd->flag, 0, 0, 0, 0, "Draw dashed lines indicating Parent, Constraint, or Hook relationships");
+	uiDefButBitS(block, TOG, V3D_SOLID_TEX, REDRAWVIEW3D, "Solid Tex", 10, -30, 140, 19, &vd->flag2, 0, 0, 0, 0, "Display textures in Solid draw type (Shift T)");
 	uiBlockEndAlign(block);
 
 	uiDefBut(block, LABEL, 1, "View Locking:",				160, 50, 150, 19, NULL, 0.0, 0.0, 0, 0, "");

Modified: trunk/blender/source/blender/src/header_image.c
===================================================================
--- trunk/blender/source/blender/src/header_image.c	2007-09-15 10:43:13 UTC (rev 12041)
+++ trunk/blender/source/blender/src/header_image.c	2007-09-15 18:12:16 UTC (rev 12042)
@@ -1240,7 +1240,7 @@
 
 	/* draw LOCK */
 	uiDefIconButS(block, ICONTOG, 0, ICON_UNLOCKED,	xco,0,XIC,YIC, &(G.sima->lock), 0, 0, 0, 0, "Updates other affected window spaces automatically to reflect changes in real time");
-
+	
 	/* Always do this last */
 	curarea->headbutlen= xco+2*XIC;
 	

Modified: trunk/blender/source/blender/src/space.c
===================================================================
--- trunk/blender/source/blender/src/space.c	2007-09-15 10:43:13 UTC (rev 12041)
+++ trunk/blender/source/blender/src/space.c	2007-09-15 18:12:16 UTC (rev 12042)
@@ -2327,7 +2327,10 @@
 				}
 				break;
 			case TKEY:
-				if(G.obedit){
+				if(G.qual == LR_SHIFTKEY) { /* toggle texture in solid draw mode */
+					G.vd->flag2 ^= V3D_SOLID_TEX;
+					allqueue(REDRAWVIEW3D, 0);
+				} else if(G.obedit){
 					if((G.qual & LR_CTRLKEY) && G.obedit->type==OB_MESH) {
 						convert_to_triface(G.qual & LR_SHIFTKEY);
 						allqueue(REDRAWVIEW3D, 0);





More information about the Bf-blender-cvs mailing list