[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47479] branches/soc-2012-fried_chicken: Added copy of Diffuse BSDF node for testing
Philipp Volguine
phil.volguine at gmail.com
Tue Jun 5 22:07:09 CEST 2012
Revision: 47479
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47479
Author: zer000
Date: 2012-06-05 20:07:01 +0000 (Tue, 05 Jun 2012)
Log Message:
-----------
Added copy of Diffuse BSDF node for testing
-Changed blender nodes source for UI changes,
-Added new cycles node type MY_BSDF_NODE
-Did not copy shader closure
Conflicts:
source/blender/blenkernel/BKE_node.h
Modified Paths:
--------------
branches/soc-2012-fried_chicken/intern/cycles/blender/blender_shader.cpp
branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm.h
branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_bsdf.h
branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_closure.h
branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_types.h
branches/soc-2012-fried_chicken/intern/cycles/render/nodes.cpp
branches/soc-2012-fried_chicken/intern/cycles/render/nodes.h
branches/soc-2012-fried_chicken/source/blender/blenkernel/BKE_node.h
branches/soc-2012-fried_chicken/source/blender/blenkernel/intern/node.c
branches/soc-2012-fried_chicken/source/blender/makesrna/intern/rna_nodetree_types.h
branches/soc-2012-fried_chicken/source/blender/nodes/NOD_shader.h
branches/soc-2012-fried_chicken/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c
Added Paths:
-----------
branches/soc-2012-fried_chicken/source/blender/nodes/shader/nodes/node_shader_mybsdf_diffuse.c
Modified: branches/soc-2012-fried_chicken/intern/cycles/blender/blender_shader.cpp
===================================================================
--- branches/soc-2012-fried_chicken/intern/cycles/blender/blender_shader.cpp 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/intern/cycles/blender/blender_shader.cpp 2012-06-05 20:07:01 UTC (rev 47479)
@@ -261,7 +261,11 @@
case BL::ShaderNode::type_BSDF_DIFFUSE: {
node = new DiffuseBsdfNode();
break;
- }
+ }
+ case BL::ShaderNode::type_MYBSDF_DIFFUSE: {
+ node = new MYBsdfNode();
+ break;
+ }
case BL::ShaderNode::type_BSDF_GLOSSY: {
BL::ShaderNodeBsdfGlossy b_glossy_node(b_node);
GlossyBsdfNode *glossy = new GlossyBsdfNode();
Modified: branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm.h
===================================================================
--- branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm.h 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm.h 2012-06-05 20:07:01 UTC (rev 47479)
@@ -186,6 +186,9 @@
case NODE_CLOSURE_BSDF:
svm_node_closure_bsdf(kg, sd, stack, node, randb, path_flag);
break;
+ case CLOSURE_MYBSDF_ID:
+ svm_node_closure_bsdf(kg, sd, stack, node, randb, path_flag);
+ break;
case NODE_CLOSURE_EMISSION:
svm_node_closure_emission(sd, stack, node);
break;
Modified: branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_bsdf.h
===================================================================
--- branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_bsdf.h 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_bsdf.h 2012-06-05 20:07:01 UTC (rev 47479)
@@ -38,6 +38,9 @@
case CLOSURE_BSDF_DIFFUSE_ID:
label = bsdf_diffuse_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf);
break;
+ case CLOSURE_MYBSDF_ID:
+ label = bsdf_diffuse_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf);
+ break;
#ifdef __SVM__
case CLOSURE_BSDF_OREN_NAYAR_ID:
label = bsdf_oren_nayar_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf);
@@ -94,6 +97,9 @@
case CLOSURE_BSDF_DIFFUSE_ID:
eval = bsdf_diffuse_eval_reflect(sd, sc, sd->I, omega_in, pdf);
break;
+ case CLOSURE_MYBSDF_ID:
+ eval = bsdf_diffuse_eval_reflect(sd, sc, sd->I, omega_in, pdf);
+ break;
#ifdef __SVM__
case CLOSURE_BSDF_OREN_NAYAR_ID:
eval = bsdf_oren_nayar_eval_reflect(sd, sc, sd->I, omega_in, pdf);
@@ -143,6 +149,9 @@
case CLOSURE_BSDF_DIFFUSE_ID:
eval = bsdf_diffuse_eval_transmit(sd, sc, sd->I, omega_in, pdf);
break;
+ case CLOSURE_MYBSDF_ID:
+ eval = bsdf_diffuse_eval_transmit(sd, sc, sd->I, omega_in, pdf);
+ break;
#ifdef __SVM__
case CLOSURE_BSDF_OREN_NAYAR_ID:
eval = bsdf_oren_nayar_eval_transmit(sd, sc, sd->I, omega_in, pdf);
@@ -197,6 +206,9 @@
case CLOSURE_BSDF_DIFFUSE_ID:
bsdf_diffuse_blur(sc, roughness);
break;
+ case CLOSURE_MYBSDF_ID:
+ bsdf_diffuse_blur(sc, roughness);
+ break;
#ifdef __SVM__
case CLOSURE_BSDF_OREN_NAYAR_ID:
bsdf_oren_nayar_blur(sc, roughness);
Modified: branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_closure.h
===================================================================
--- branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_closure.h 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_closure.h 2012-06-05 20:07:01 UTC (rev 47479)
@@ -88,6 +88,17 @@
bsdf_oren_nayar_setup(sd, sc, roughness);
break;
}
+ case CLOSURE_MYBSDF_ID: {
+ ShaderClosure *sc = svm_node_closure_get(sd);
+ svm_node_closure_set_mix_weight(sc, mix_weight);
+
+ float roughness = param1;
+ if(roughness == 0.0f)
+ bsdf_diffuse_setup(sd, sc);
+ else
+ bsdf_oren_nayar_setup(sd, sc, roughness);
+ break;
+ }
case CLOSURE_BSDF_TRANSLUCENT_ID: {
ShaderClosure *sc = svm_node_closure_get(sd);
svm_node_closure_set_mix_weight(sc, mix_weight);
Modified: branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_types.h
===================================================================
--- branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_types.h 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/intern/cycles/kernel/svm/svm_types.h 2012-06-05 20:07:01 UTC (rev 47479)
@@ -288,6 +288,7 @@
CLOSURE_BSDF_ID,
CLOSURE_BSDF_DIFFUSE_ID,
+ CLOSURE_MYBSDF_ID, //diffuse clone, added for learning
CLOSURE_BSDF_OREN_NAYAR_ID,
CLOSURE_BSDF_REFLECTION_ID,
Modified: branches/soc-2012-fried_chicken/intern/cycles/render/nodes.cpp
===================================================================
--- branches/soc-2012-fried_chicken/intern/cycles/render/nodes.cpp 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/intern/cycles/render/nodes.cpp 2012-06-05 20:07:01 UTC (rev 47479)
@@ -1227,6 +1227,25 @@
compiler.add(this, "node_diffuse_bsdf");
}
+/* START test bsdf closure */
+MYBsdfNode::MYBsdfNode()
+{
+ closure = CLOSURE_MYBSDF_ID;
+ add_input("Roughness", SHADER_SOCKET_FLOAT, 0.0f);
+}
+
+void MYBsdfNode::compile(SVMCompiler& compiler)
+{
+ BsdfNode::compile(compiler, input("Roughness"), NULL);
+}
+
+void MYBsdfNode::compile(OSLCompiler& compiler)
+{
+ compiler.add(this, "node_mydiffuse_bsdf");
+}
+
+/* END test bsdf closure */
+
/* Translucent BSDF Closure */
TranslucentBsdfNode::TranslucentBsdfNode()
Modified: branches/soc-2012-fried_chicken/intern/cycles/render/nodes.h
===================================================================
--- branches/soc-2012-fried_chicken/intern/cycles/render/nodes.h 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/intern/cycles/render/nodes.h 2012-06-05 20:07:01 UTC (rev 47479)
@@ -197,6 +197,13 @@
SHADER_NODE_CLASS(DiffuseBsdfNode)
};
+/* Test Node for learning purposes. Copy of bsdf node */
+class MYBsdfNode : public BsdfNode {
+public:
+ SHADER_NODE_CLASS(MYBsdfNode)
+};
+
+
class TranslucentBsdfNode : public BsdfNode {
public:
SHADER_NODE_CLASS(TranslucentBsdfNode)
Modified: branches/soc-2012-fried_chicken/source/blender/blenkernel/BKE_node.h
===================================================================
--- branches/soc-2012-fried_chicken/source/blender/blenkernel/BKE_node.h 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/source/blender/blenkernel/BKE_node.h 2012-06-05 20:07:01 UTC (rev 47479)
@@ -528,6 +528,7 @@
#define SH_NODE_BRIGHTCONTRAST 165
#define SH_NODE_LIGHT_FALLOFF 166
#define SH_NODE_OBJECT_INFO 167
+#define SH_NODE_MYBSDF_DIFFUSE 168 //Diffuse copy node added for test purposes
/* custom defines options for Material node */
#define SH_NODE_MAT_DIFF 1
Modified: branches/soc-2012-fried_chicken/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/soc-2012-fried_chicken/source/blender/blenkernel/intern/node.c 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/source/blender/blenkernel/intern/node.c 2012-06-05 20:07:01 UTC (rev 47479)
@@ -1959,6 +1959,7 @@
register_node_type_sh_background(ttype);
register_node_type_sh_bsdf_diffuse(ttype);
+ register_node_type_sh_mybsdf_diffuse(ttype);//Test node
register_node_type_sh_bsdf_glossy(ttype);
register_node_type_sh_bsdf_glass(ttype);
register_node_type_sh_bsdf_translucent(ttype);
Modified: branches/soc-2012-fried_chicken/source/blender/makesrna/intern/rna_nodetree_types.h
===================================================================
--- branches/soc-2012-fried_chicken/source/blender/makesrna/intern/rna_nodetree_types.h 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/source/blender/makesrna/intern/rna_nodetree_types.h 2012-06-05 20:07:01 UTC (rev 47479)
@@ -68,6 +68,8 @@
DefNode( ShaderNode, SH_NODE_BACKGROUND, 0, "BACKGROUND", Background, "Background", "" )
DefNode( ShaderNode, SH_NODE_HOLDOUT, 0, "HOLDOUT", Holdout, "Holdout", "" )
DefNode( ShaderNode, SH_NODE_BSDF_DIFFUSE, 0, "BSDF_DIFFUSE", BsdfDiffuse, "Diffuse Bsdf", "" )
+//Custom node for learning purposes
+DefNode( ShaderNode, SH_NODE_MYBSDF_DIFFUSE, 0, "MYBSDF_DIFFUSE", MYBSDFDiffuse, "CustomNode", "" )
DefNode( ShaderNode, SH_NODE_BSDF_GLOSSY, def_glossy, "BSDF_GLOSSY", BsdfGlossy, "Glossy Bsdf", "" )
DefNode( ShaderNode, SH_NODE_BSDF_GLASS, def_glossy, "BSDF_GLASS", BsdfGlass, "Glass Bsdf", "" )
DefNode( ShaderNode, SH_NODE_BSDF_TRANSLUCENT, 0, "BSDF_TRANSLUCENT", BsdfTranslucent, "Translucent Bsdf", "" )
Modified: branches/soc-2012-fried_chicken/source/blender/nodes/NOD_shader.h
===================================================================
--- branches/soc-2012-fried_chicken/source/blender/nodes/NOD_shader.h 2012-06-05 19:39:12 UTC (rev 47478)
+++ branches/soc-2012-fried_chicken/source/blender/nodes/NOD_shader.h 2012-06-05 20:07:01 UTC (rev 47479)
@@ -81,6 +81,7 @@
void register_node_type_sh_background(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_diffuse(struct bNodeTreeType *ttype);
+void register_node_type_sh_mybsdf_diffuse(struct bNodeTreeType *ttype);//Copy of diffuse node added for testing
void register_node_type_sh_bsdf_glossy(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_glass(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_translucent(struct bNodeTreeType *ttype);
Modified: branches/soc-2012-fried_chicken/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c
===================================================================
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list