[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27440] trunk/blender/source/blender: Fix #21211: new indirect/environment/emit passes weren't showing up

Brecht Van Lommel brecht at blender.org
Fri Mar 12 13:29:12 CET 2010


Revision: 27440
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27440
Author:   blendix
Date:     2010-03-12 13:29:12 +0100 (Fri, 12 Mar 2010)

Log Message:
-----------
Fix #21211: new indirect/environment/emit passes weren't showing up
in compositor and outliner yet.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_node.h
    trunk/blender/source/blender/blenkernel/intern/node.c
    trunk/blender/source/blender/editors/space_outliner/outliner.c
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_image.c
    trunk/blender/source/blender/render/intern/source/pipeline.c
    trunk/blender/source/blender/render/intern/source/rendercore.c
    trunk/blender/source/blender/render/intern/source/shadeinput.c
    trunk/blender/source/blender/render/intern/source/strand.c
    trunk/blender/source/blender/render/intern/source/zbuf.c

Modified: trunk/blender/source/blender/blenkernel/BKE_node.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_node.h	2010-03-12 12:09:58 UTC (rev 27439)
+++ trunk/blender/source/blender/blenkernel/BKE_node.h	2010-03-12 12:29:12 UTC (rev 27440)
@@ -290,9 +290,11 @@
 #define RRES_OUT_AO			10
 #define RRES_OUT_REFLECT	11
 #define RRES_OUT_REFRACT	12
-#define RRES_OUT_RADIO		13
+#define RRES_OUT_INDIRECT	13
 #define RRES_OUT_INDEXOB	14
 #define RRES_OUT_MIST		15
+#define RRES_OUT_EMIT		16
+#define RRES_OUT_ENV		17
 
 /* note: types are needed to restore callbacks, don't change values */
 #define CMP_NODE_VIEWER		201

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2010-03-12 12:09:58 UTC (rev 27439)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2010-03-12 12:29:12 UTC (rev 27440)
@@ -2809,12 +2809,16 @@
 	if(!(passflag & SCE_PASS_REFLECT)) sock->flag |= SOCK_UNAVAIL;
 	sock= BLI_findlink(&node->outputs, RRES_OUT_REFRACT);
 	if(!(passflag & SCE_PASS_REFRACT)) sock->flag |= SOCK_UNAVAIL;
-	sock= BLI_findlink(&node->outputs, RRES_OUT_RADIO);
-	if(!(passflag & SCE_PASS_RADIO)) sock->flag |= SOCK_UNAVAIL;
+	sock= BLI_findlink(&node->outputs, RRES_OUT_INDIRECT);
+	if(!(passflag & SCE_PASS_INDIRECT)) sock->flag |= SOCK_UNAVAIL;
 	sock= BLI_findlink(&node->outputs, RRES_OUT_INDEXOB);
 	if(!(passflag & SCE_PASS_INDEXOB)) sock->flag |= SOCK_UNAVAIL;
 	sock= BLI_findlink(&node->outputs, RRES_OUT_MIST);
 	if(!(passflag & SCE_PASS_MIST)) sock->flag |= SOCK_UNAVAIL;
+	sock= BLI_findlink(&node->outputs, RRES_OUT_EMIT);
+	if(!(passflag & SCE_PASS_EMIT)) sock->flag |= SOCK_UNAVAIL;
+	sock= BLI_findlink(&node->outputs, RRES_OUT_ENV);
+	if(!(passflag & SCE_PASS_ENVIRONMENT)) sock->flag |= SOCK_UNAVAIL;
 	
 }
 

Modified: trunk/blender/source/blender/editors/space_outliner/outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/outliner.c	2010-03-12 12:09:58 UTC (rev 27439)
+++ trunk/blender/source/blender/editors/space_outliner/outliner.c	2010-03-12 12:29:12 UTC (rev 27440)
@@ -511,10 +511,17 @@
 	te->name= "Refraction";
 	te->directdata= &srl->passflag;
 	
-	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, SCE_PASS_RADIO);
-	te->name= "Radiosity";
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, SCE_PASS_INDIRECT);
+	te->name= "Indirect";
 	te->directdata= &srl->passflag;
-	
+
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, SCE_PASS_ENVIRONMENT);
+	te->name= "Environment";
+	te->directdata= &srl->passflag;
+
+	te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, SCE_PASS_EMIT);
+	te->name= "Emit";
+	te->directdata= &srl->passflag;
 }
 
 
@@ -4946,7 +4953,7 @@
 				uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
 				
 				layflag++;	/* is lay_xor */
-				if(ELEM6(tselem->nr, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_RADIO))
+				if(ELEM8(tselem->nr, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_INDIRECT, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT))
 					bt= uiDefIconButBitI(block, TOG, tselem->nr, 0, (*layflag & tselem->nr)?ICON_DOT:ICON_BLANK1, 
 									 (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (short)te->ys, 17, OL_H-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined");
 				uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);

Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h	2010-03-12 12:09:58 UTC (rev 27439)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h	2010-03-12 12:29:12 UTC (rev 27440)
@@ -183,12 +183,11 @@
 #define SCE_PASS_REFRACT		1024
 #define SCE_PASS_INDEXOB		2048
 #define SCE_PASS_UV				4096
-#define SCE_PASS_RADIO			8192 /* Radio removed, can use for new GI? */
+#define SCE_PASS_INDIRECT		8192
 #define SCE_PASS_MIST			16384
 #define SCE_PASS_RAYHITS		32768
 #define SCE_PASS_EMIT			65536
 #define SCE_PASS_ENVIRONMENT	131072
-#define SCE_PASS_INDIRECT		262144
 
 /* note, srl->passflag is treestore element 'nr' in outliner, short still... */
 

Modified: trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_image.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_image.c	2010-03-12 12:09:58 UTC (rev 27439)
+++ trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_image.c	2010-03-12 12:29:12 UTC (rev 27440)
@@ -46,9 +46,11 @@
 	{	SOCK_RGBA, 0, "AO",			0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
 	{	SOCK_RGBA, 0, "Reflect",	0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
 	{	SOCK_RGBA, 0, "Refract",	0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
-	{	SOCK_RGBA, 0, "Radio",		0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+	{	SOCK_RGBA, 0, "Indirect",	0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
 	{	SOCK_VALUE, 0, "IndexOB",	0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
 	{	SOCK_VALUE, 0, "Mist",		0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+	{	SOCK_RGBA, 0, "Emit",		0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+	{	SOCK_RGBA, 0, "Environment",0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
 	{	-1, 0, ""	}
 };
 
@@ -176,13 +178,16 @@
 		out[RRES_OUT_REFLECT]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_REFLECT);
 	if(out[RRES_OUT_REFRACT]->hasoutput)
 		out[RRES_OUT_REFRACT]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_REFRACT);
-	if(out[RRES_OUT_RADIO]->hasoutput)
-		out[RRES_OUT_RADIO]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_RADIO);
+	if(out[RRES_OUT_INDIRECT]->hasoutput)
+		out[RRES_OUT_INDIRECT]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_INDIRECT);
 	if(out[RRES_OUT_INDEXOB]->hasoutput)
 		out[RRES_OUT_INDEXOB]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_INDEXOB);
 	if(out[RRES_OUT_MIST]->hasoutput)
 		out[RRES_OUT_MIST]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_MIST);
-	
+	if(out[RRES_OUT_EMIT]->hasoutput)
+		out[RRES_OUT_EMIT]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_EMIT);
+	if(out[RRES_OUT_ENV]->hasoutput)
+		out[RRES_OUT_ENV]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_ENVIRONMENT);
 };
 
 
@@ -334,13 +339,16 @@
       out[RRES_OUT_REFLECT]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_REFLECT);
    if(out[RRES_OUT_REFRACT]->hasoutput)
       out[RRES_OUT_REFRACT]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_REFRACT);
-   if(out[RRES_OUT_RADIO]->hasoutput)
-      out[RRES_OUT_RADIO]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_RADIO);
+   if(out[RRES_OUT_INDIRECT]->hasoutput)
+      out[RRES_OUT_INDIRECT]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_INDIRECT);
    if(out[RRES_OUT_INDEXOB]->hasoutput)
 	   out[RRES_OUT_INDEXOB]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_INDEXOB);
    if(out[RRES_OUT_MIST]->hasoutput)
 	   out[RRES_OUT_MIST]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_MIST);
-
+   if(out[RRES_OUT_EMIT]->hasoutput)
+	   out[RRES_OUT_EMIT]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_EMIT);
+   if(out[RRES_OUT_ENV]->hasoutput)
+	   out[RRES_OUT_ENV]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_ENVIRONMENT);
 };
 
 static void node_composit_exec_rlayers(void *data, bNode *node, bNodeStack **in, bNodeStack **out)

Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c	2010-03-12 12:09:58 UTC (rev 27439)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c	2010-03-12 12:29:12 UTC (rev 27440)
@@ -368,12 +368,6 @@
 		if(channel==1) return "Refract.G";
 		return "Refract.B";
 	}
-	if(passtype == SCE_PASS_RADIO) {
-		if(channel==-1) return "Radio";
-		if(channel==0) return "Radio.R";
-		if(channel==1) return "Radio.G";
-		return "Radio.B";
-	}
 	if(passtype == SCE_PASS_INDEXOB) {
 		if(channel==-1) return "IndexOB";
 		return "IndexOB.X";
@@ -440,9 +434,6 @@
 	if(strcmp(str, "Refract")==0)
 		return SCE_PASS_REFRACT;
 
-	if(strcmp(str, "Radio")==0)
-		return SCE_PASS_RADIO;
-
 	if(strcmp(str, "IndexOB")==0)
 		return SCE_PASS_INDEXOB;
 
@@ -622,8 +613,6 @@
 			render_layer_add_pass(rr, rl, 3, SCE_PASS_REFLECT);
 		if(srl->passflag  & SCE_PASS_REFRACT)
 			render_layer_add_pass(rr, rl, 3, SCE_PASS_REFRACT);
-		if(srl->passflag  & SCE_PASS_RADIO)
-			render_layer_add_pass(rr, rl, 3, SCE_PASS_RADIO);
 		if(srl->passflag  & SCE_PASS_INDEXOB)
 			render_layer_add_pass(rr, rl, 1, SCE_PASS_INDEXOB);
 		if(srl->passflag  & SCE_PASS_MIST)

Modified: trunk/blender/source/blender/render/intern/source/rendercore.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rendercore.c	2010-03-12 12:09:58 UTC (rev 27439)
+++ trunk/blender/source/blender/render/intern/source/rendercore.c	2010-03-12 12:29:12 UTC (rev 27440)
@@ -486,9 +486,6 @@
 			case SCE_PASS_REFRACT:
 				col= shr->refr;
 				break;
-			case SCE_PASS_RADIO:
-				col= NULL; // removed shr->rad;
-				break;
 			case SCE_PASS_NORMAL:
 				col= shr->nor;
 				break;
@@ -593,9 +590,6 @@
 			case SCE_PASS_REFRACT:
 				col= shr->refr;
 				break;
-			case SCE_PASS_RADIO:
-				col= NULL; // removed shr->rad;
-				break;
 			case SCE_PASS_NORMAL:
 				col= shr->nor;
 				break;

Modified: trunk/blender/source/blender/render/intern/source/shadeinput.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/shadeinput.c	2010-03-12 12:09:58 UTC (rev 27439)
+++ trunk/blender/source/blender/render/intern/source/shadeinput.c	2010-03-12 12:29:12 UTC (rev 27440)
@@ -176,7 +176,7 @@
 	}
 	
 	/* copy additional passes */
-	if(shi->passflag & (SCE_PASS_VECTOR|SCE_PASS_NORMAL|SCE_PASS_RADIO)) {
+	if(shi->passflag & (SCE_PASS_VECTOR|SCE_PASS_NORMAL)) {
 		QUATCOPY(shr->winspeed, shi->winspeed);
 		VECCOPY(shr->nor, shi->vn);
 	}

Modified: trunk/blender/source/blender/render/intern/source/strand.c
===================================================================

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list