[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