[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11749] branches/soc-2007-maike/source/ blender: Removed GLSL preview button and added new draw mode ( Realtime Shading)

Miguel Torres Lima torreslima at gmail.com
Mon Aug 20 21:14:03 CEST 2007


Revision: 11749
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11749
Author:   maike
Date:     2007-08-20 21:14:03 +0200 (Mon, 20 Aug 2007)

Log Message:
-----------
Removed GLSL preview button and added new draw mode (Realtime Shading)
Don't know why there are some problems with sun lights, also haven't tested with a card that does not support glsl and did not hide the option if it does not have support
Added node events

Modified Paths:
--------------
    branches/soc-2007-maike/source/blender/blenkernel/intern/material.c
    branches/soc-2007-maike/source/blender/blenkernel/intern/scene.c
    branches/soc-2007-maike/source/blender/include/BIF_glutil.h
    branches/soc-2007-maike/source/blender/include/blendef.h
    branches/soc-2007-maike/source/blender/include/butspace.h
    branches/soc-2007-maike/source/blender/makesdna/DNA_object_types.h
    branches/soc-2007-maike/source/blender/makesdna/DNA_userdef_types.h
    branches/soc-2007-maike/source/blender/src/butspace.c
    branches/soc-2007-maike/source/blender/src/buttons_shading.c
    branches/soc-2007-maike/source/blender/src/drawnode.c
    branches/soc-2007-maike/source/blender/src/drawobject.c
    branches/soc-2007-maike/source/blender/src/glsl_material.c
    branches/soc-2007-maike/source/blender/src/glsl_materialtree.c
    branches/soc-2007-maike/source/blender/src/glutil.c
    branches/soc-2007-maike/source/blender/src/header_node.c
    branches/soc-2007-maike/source/blender/src/header_view3d.c
    branches/soc-2007-maike/source/blender/src/headerbuttons.c
    branches/soc-2007-maike/source/blender/src/space.c

Modified: branches/soc-2007-maike/source/blender/blenkernel/intern/material.c
===================================================================
--- branches/soc-2007-maike/source/blender/blenkernel/intern/material.c	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/blenkernel/intern/material.c	2007-08-20 19:14:03 UTC (rev 11749)
@@ -209,8 +209,12 @@
 		man->nodetree= ntreeCopyTree(ma->nodetree, 0);	/* 0 == full new tree */
 	}
 
-	if(glsl_active())
-	  glsl_create_materialtree(man, GLSL_MAT);
+	if(glsl_active()){
+	  if(man->use_nodes && man->nodetree)
+	    glsl_create_materialtree(man, GLSL_NODES);
+	  else
+	    glsl_create_materialtree(man, GLSL_MAT);
+	}
 
 	return man;
 }

Modified: branches/soc-2007-maike/source/blender/blenkernel/intern/scene.c
===================================================================
--- branches/soc-2007-maike/source/blender/blenkernel/intern/scene.c	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/blenkernel/intern/scene.c	2007-08-20 19:14:03 UTC (rev 11749)
@@ -327,7 +327,7 @@
 	/* write programs  HERE */
 
 	if(!glsl_firstdraw()){
-	  glsl_change_state();
+	  glsl_init_firstdraw();
 	}
 	else if(glsl_active()){
 	  glsl_create_all();

Modified: branches/soc-2007-maike/source/blender/include/BIF_glutil.h
===================================================================
--- branches/soc-2007-maike/source/blender/include/BIF_glutil.h	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/include/BIF_glutil.h	2007-08-20 19:14:03 UTC (rev 11749)
@@ -231,6 +231,7 @@
 int glsl_supported(void);
 int glsl_active(void);
 int glsl_firstdraw(void);
+void glsl_init_firstdraw(void);
 void glsl_change_state(void);
 void glsl_free_all(void);
 void glsl_create_all(void);

Modified: branches/soc-2007-maike/source/blender/include/blendef.h
===================================================================
--- branches/soc-2007-maike/source/blender/include/blendef.h	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/include/blendef.h	2007-08-20 19:14:03 UTC (rev 11749)
@@ -209,6 +209,7 @@
 /* VIEW3D: 100 */
 #define B_HOME			101
 #define B_LAY			102
+#define B_REDR_DRAWTYPE         103
 /* watch: codes 102-132 in in use for layers */
 #define B_AUTOKEY		139
 #define B_SCENELOCK		140

Modified: branches/soc-2007-maike/source/blender/include/butspace.h
===================================================================
--- branches/soc-2007-maike/source/blender/include/butspace.h	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/include/butspace.h	2007-08-20 19:14:03 UTC (rev 11749)
@@ -749,6 +749,7 @@
 #define B_NODE_LOADIMAGE	3601
 #define B_NODE_TREE_EXEC	3602
 
+#define B_NODE_NEW              3609
 		/* exec should be last in this list */
 #define B_NODE_EXEC			3610
 

Modified: branches/soc-2007-maike/source/blender/makesdna/DNA_object_types.h
===================================================================
--- branches/soc-2007-maike/source/blender/makesdna/DNA_object_types.h	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/makesdna/DNA_object_types.h	2007-08-20 19:14:03 UTC (rev 11749)
@@ -323,6 +323,7 @@
 #define OB_SOLID		3
 #define OB_SHADED		4
 #define OB_TEXTURE		5
+#define OB_GLSL                 6
 
 /* dtx: flags, char! */
 #define OB_AXIS			2

Modified: branches/soc-2007-maike/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- branches/soc-2007-maike/source/blender/makesdna/DNA_userdef_types.h	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/makesdna/DNA_userdef_types.h	2007-08-20 19:14:03 UTC (rev 11749)
@@ -205,7 +205,6 @@
 #define USER_NONUMPAD			8192
 #define USER_LMOUSESELECT		16384
 #define USER_FILECOMPRESS		32768
-#define USER_GLSL                       65536
 
 /* viewzom */
 #define USER_ZOOM_CONT			0

Modified: branches/soc-2007-maike/source/blender/src/butspace.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/butspace.c	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/src/butspace.c	2007-08-20 19:14:03 UTC (rev 11749)
@@ -528,7 +528,7 @@
 		BIF_preview_changed(ID_MA);
 		allqueue(REDRAWNODE, 0);
 		allqueue(REDRAWBUTSSHADING, 0);
-	}		
+	}	
 }
 
 void do_butspace(unsigned short event)
@@ -551,7 +551,9 @@
 	        do_worldbuts(event);
 		do_butspace(B_WORLDPRV);
 	}
-	
+	else if(event == B_NODE_NEW)
+	  do_matbuts(event);
+
 	else if(event == B_MAT_TEXFACE){
          	do_matbuts(event);
 		do_global_buttons(event);
@@ -628,6 +630,8 @@
 	else if(event<=100) {
 		do_global_buttons(event);
 	}
+	else if(event == B_REDR_DRAWTYPE)
+	  do_global_buttons(event);
 	else if(event < 1000) {
 		do_headerbuttons(event);
 	}

Modified: branches/soc-2007-maike/source/blender/src/buttons_shading.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/buttons_shading.c	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/src/buttons_shading.c	2007-08-20 19:14:03 UTC (rev 11749)
@@ -3116,12 +3116,11 @@
 		  }
 		  
 		  if(glsl_active())
-		    glsl_colorbands_change(ma);
-		    
 			if(ma) end_render_material(ma);	/// temporal... 3d preview
 			allqueue(REDRAWBUTSSHADING, 0);
 			BIF_preview_changed(ID_MA);
 			shade_buttons_change_3d();
+			glsl_colorbands_change(ma);
 		}
 		break;
 	case B_MAT_USENODES:
@@ -3135,6 +3134,9 @@
 			allqueue(REDRAWNODE, 0);
 			allqueue(REDRAWBUTSSHADING, 0);
 			allqueue(REDRAWIPO, 0);
+			
+			if(glsl_active())
+			  glsl_switch_material_type(ma);
 		}		
 		break;
 	case B_MAT_VCOL_PAINT:
@@ -3255,6 +3257,8 @@
 	  ma= editnode_get_active_material(ma);
 	  glsl_set_texture_state(ma, (int) ma->texact);
 	  break;
+	case B_NODE_NEW:
+	  printf("\n new node added\n");
 	}
 }
 

Modified: branches/soc-2007-maike/source/blender/src/drawnode.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/drawnode.c	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/src/drawnode.c	2007-08-20 19:14:03 UTC (rev 11749)
@@ -431,14 +431,14 @@
 				MEM_freeN(ma->nodetree);
 			}
 			ma->nodetree= NULL;
-			node->id= (ID *)ma;
+			node->id= (ID *)ma;printf("\n new node added\n");
 		}
-		else node->id= (ID *)add_material("MatNode");
+		else{  node->id= (ID *)add_material("MatNode"); printf("\n new node added 2\n");}
 	}
 	else {
 		if(node->id) node->id->us--;
 		node->id= BLI_findlink(&G.main->mat, node->menunr-1);
-		id_us_plus(node->id);
+		id_us_plus(node->id); printf("\n node changed\n");
 	}
 	BLI_strncpy(node->name, node->id->name+2, 21);
 	
@@ -499,7 +499,7 @@
 		
 		/* Add New button */
 		if(node->id==NULL) {
-			bt= uiDefBut(block, BUT, B_NOP, "Add New",
+			bt= uiDefBut(block, BUT, B_NODE_NEW, "Add New",
 						 butr->xmin+19, dy, (short)(butr->xmax-butr->xmin-19.0f), 19, 
 						 NULL, 0.0, 0.0, 0, 0, "Add new Material");
 			uiButSetFunc(bt, node_new_mat_cb, ntree, node);

Modified: branches/soc-2007-maike/source/blender/src/drawobject.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/drawobject.c	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/src/drawobject.c	2007-08-20 19:14:03 UTC (rev 11749)
@@ -3876,7 +3876,7 @@
 	switch( ob->type) {
 		case OB_MESH:
 			if (!(base->flag&OB_RADIO)) {
-			  if(glsl_active()  && (base->lay & G.vd->lay) && dt == OB_SHADED && G.obedit != ob && (OBACT != ob || !(G.f & (G_FACESELECT|G_WEIGHTPAINT|G_TEXTUREPAINT|G_VERTEXPAINT|G_SCULPTMODE)))){
+			  if(glsl_active()  && (base->lay & G.vd->lay) && G.vd->drawtype == OB_GLSL && G.obedit != ob && (OBACT != ob || !(G.f & (G_FACESELECT|G_WEIGHTPAINT|G_TEXTUREPAINT|G_VERTEXPAINT|G_SCULPTMODE)))){
 			    glsl_draw(base, warning_recursive, flag, &col);
 			    set_draw_color(base, warning_recursive, flag, &col);
 			  }
@@ -3986,7 +3986,7 @@
 			else if(dt==OB_BOUNDBOX) 
 				draw_bounding_volume(ob);
 			else if(boundbox_clip(ob->obmat, cu->bb)) 
-			  if(glsl_active()  && (base->lay & G.vd->lay) && dt == OB_SHADED && G.obedit != ob && (OBACT != ob || !(G.f & (G_FACESELECT|G_WEIGHTPAINT|G_TEXTUREPAINT|G_VERTEXPAINT|G_SCULPTMODE)))){
+			  if(glsl_active()  && (base->lay & G.vd->lay) && G.vd->drawtype == OB_GLSL && G.obedit != ob && (OBACT != ob || !(G.f & (G_FACESELECT|G_WEIGHTPAINT|G_TEXTUREPAINT|G_VERTEXPAINT|G_SCULPTMODE)))){
 			    glsl_draw_dispList(base->object, cu->disp.first);
 			    set_draw_color(base, warning_recursive, flag, &col);
 			  }
@@ -4005,7 +4005,7 @@
 			else if(dt==OB_BOUNDBOX) 
 				draw_bounding_volume(ob);
 			else if(boundbox_clip(ob->obmat, cu->bb)) {
-			  if(glsl_active()  && (base->lay & G.vd->lay) && dt == OB_SHADED && G.obedit != ob && (OBACT != ob || !(G.f & (G_FACESELECT|G_WEIGHTPAINT|G_TEXTUREPAINT|G_VERTEXPAINT|G_SCULPTMODE)))){
+			  if(glsl_active()  && (base->lay & G.vd->lay) && G.vd->drawtype == OB_GLSL && G.obedit != ob && (OBACT != ob || !(G.f & (G_FACESELECT|G_WEIGHTPAINT|G_TEXTUREPAINT|G_VERTEXPAINT|G_SCULPTMODE)))){
 			    glsl_draw_curve(base);
 			    set_draw_color(base, warning_recursive, flag, &col);
 			  }
@@ -4022,7 +4022,7 @@
 			else if(dt==OB_BOUNDBOX) 
 				draw_bounding_volume(ob);
 			else{
-			  if(glsl_active()  && (base->lay & G.vd->lay) && dt == OB_SHADED && G.obedit != ob && (OBACT != ob || !(G.f & (G_FACESELECT|G_WEIGHTPAINT|G_TEXTUREPAINT|G_VERTEXPAINT|G_SCULPTMODE)))){
+			  if(glsl_active()  && (base->lay & G.vd->lay) && G.vd->drawtype == OB_GLSL && G.obedit != ob && (OBACT != ob || !(G.f & (G_FACESELECT|G_WEIGHTPAINT|G_TEXTUREPAINT|G_VERTEXPAINT|G_SCULPTMODE)))){
 			    glsl_draw_mball(base);
 			    set_draw_color(base, warning_recursive, flag, &col);
 			  }

Modified: branches/soc-2007-maike/source/blender/src/glsl_material.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/glsl_material.c	2007-08-20 19:05:31 UTC (rev 11748)
+++ branches/soc-2007-maike/source/blender/src/glsl_material.c	2007-08-20 19:14:03 UTC (rev 11749)
@@ -110,25 +110,29 @@
 
 static void glsl_mat_init_cb(GLSL_Material material, Material *mat)
 {

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list