[Bf-blender-cvs] [2c69f1e] master: Cleanup: Remove unused total power Emission code in Cycles, that was never exposed in the UI.

Thomas Dinges noreply at git.blender.org
Fri May 30 14:34:04 CEST 2014


Commit: 2c69f1e574587c2364e9a94b45d0b363ffeebf61
Author: Thomas Dinges
Date:   Fri May 30 14:32:32 2014 +0200
https://developer.blender.org/rB2c69f1e574587c2364e9a94b45d0b363ffeebf61

Cleanup: Remove unused total power Emission code in Cycles, that was never exposed in the UI.

Differential Revision: https://developer.blender.org/D562

===================================================================

M	intern/cycles/app/cycles_xml.cpp
M	intern/cycles/kernel/shaders/node_emission.osl
M	intern/cycles/kernel/svm/svm.h
M	intern/cycles/kernel/svm/svm_closure.h
M	intern/cycles/kernel/svm/svm_types.h
M	intern/cycles/render/nodes.cpp
M	intern/cycles/render/nodes.h

===================================================================

diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp
index d5ef30e..de554fb 100644
--- a/intern/cycles/app/cycles_xml.cpp
+++ b/intern/cycles/app/cycles_xml.cpp
@@ -550,9 +550,7 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
 			snode = hair;
 		}
 		else if(string_iequals(node.name(), "emission")) {
-			EmissionNode *emission = new EmissionNode();
-			xml_read_bool(&emission->total_power, node, "total_power");
-			snode = emission;
+			snode = new EmissionNode();
 		}
 		else if(string_iequals(node.name(), "ambient_occlusion")) {
 			snode = new AmbientOcclusionNode();
diff --git a/intern/cycles/kernel/shaders/node_emission.osl b/intern/cycles/kernel/shaders/node_emission.osl
index 2428da5..b28d731 100644
--- a/intern/cycles/kernel/shaders/node_emission.osl
+++ b/intern/cycles/kernel/shaders/node_emission.osl
@@ -17,14 +17,10 @@
 #include "stdosl.h"
 
 shader node_emission(
-	int TotalPower = 0,
 	color Color = 0.8,
 	float Strength = 1.0,
 	output closure color Emission = 0)
 {
-	if (TotalPower)
-		Emission = ((Strength / surfacearea()) * Color) * emission();
-	else
-		Emission = (Strength * Color) * emission();
+	Emission = (Strength * Color) * emission();
 }
 
diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h
index dbf59c6..6d556a6 100644
--- a/intern/cycles/kernel/svm/svm.h
+++ b/intern/cycles/kernel/svm/svm.h
@@ -407,12 +407,7 @@ ccl_device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, Shade
 				break;
 			case NODE_CLOSURE_SET_NORMAL:
 				svm_node_set_normal(kg, sd, stack, node.y, node.z );
-				break;			
-#endif
-			case NODE_EMISSION_SET_WEIGHT_TOTAL:
-				svm_node_emission_set_weight_total(kg, sd, node.y, node.z, node.w);
 				break;
-#ifdef __EXTRA_NODES__
 			case NODE_RGB_RAMP:
 				svm_node_rgb_ramp(kg, sd, stack, node, &offset);
 				break;
diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h
index a377087..27c5a19 100644
--- a/intern/cycles/kernel/svm/svm_closure.h
+++ b/intern/cycles/kernel/svm/svm_closure.h
@@ -582,16 +582,6 @@ ccl_device void svm_node_closure_set_weight(ShaderData *sd, uint r, uint g, uint
 	svm_node_closure_store_weight(sd, weight);
 }
 
-ccl_device void svm_node_emission_set_weight_total(KernelGlobals *kg, ShaderData *sd, uint r, uint g, uint b)
-{
-	float3 weight = make_float3(__uint_as_float(r), __uint_as_float(g), __uint_as_float(b));
-
-	if(sd->object != OBJECT_NONE)
-		weight /= object_surface_area(kg, sd->object);
-
-	svm_node_closure_store_weight(sd, weight);
-}
-
 ccl_device void svm_node_closure_weight(ShaderData *sd, float *stack, uint weight_offset)
 {
 	float3 weight = stack_load_float3(stack, weight_offset);
@@ -603,14 +593,10 @@ ccl_device void svm_node_emission_weight(KernelGlobals *kg, ShaderData *sd, floa
 {
 	uint color_offset = node.y;
 	uint strength_offset = node.z;
-	uint total_power = node.w;
 
 	float strength = stack_load_float(stack, strength_offset);
 	float3 weight = stack_load_float3(stack, color_offset)*strength;
 
-	if(total_power && sd->object != OBJECT_NONE)
-		weight /= object_surface_area(kg, sd->object);
-
 	svm_node_closure_store_weight(sd, weight);
 }
 
diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h
index 80972ec..fda035f 100644
--- a/intern/cycles/kernel/svm/svm_types.h
+++ b/intern/cycles/kernel/svm/svm_types.h
@@ -72,7 +72,6 @@ typedef enum NodeType {
 	NODE_TEX_COORD,
 	NODE_TEX_COORD_BUMP_DX,
 	NODE_TEX_COORD_BUMP_DY,
-	NODE_EMISSION_SET_WEIGHT_TOTAL,
 	NODE_ATTR_BUMP_DX,
 	NODE_ATTR_BUMP_DY,
 	NODE_TEX_ENVIRONMENT,
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index a53e0b3..1a1667f 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -1850,8 +1850,6 @@ bool SubsurfaceScatteringNode::has_bssrdf_bump()
 EmissionNode::EmissionNode()
 : ShaderNode("emission")
 {
-	total_power = false;
-
 	add_input("Color", SHADER_SOCKET_COLOR, make_float3(0.8f, 0.8f, 0.8f));
 	add_input("Strength", SHADER_SOCKET_FLOAT, 10.0f);
 	add_input("SurfaceMixWeight", SHADER_SOCKET_FLOAT, 0.0f, ShaderInput::USE_SVM);
@@ -1867,10 +1865,8 @@ void EmissionNode::compile(SVMCompiler& compiler)
 	if(color_in->link || strength_in->link) {
 		compiler.stack_assign(color_in);
 		compiler.stack_assign(strength_in);
-		compiler.add_node(NODE_EMISSION_WEIGHT, color_in->stack_offset, strength_in->stack_offset, total_power? 1: 0);
+		compiler.add_node(NODE_EMISSION_WEIGHT, color_in->stack_offset, strength_in->stack_offset);
 	}
-	else if(total_power)
-		compiler.add_node(NODE_EMISSION_SET_WEIGHT_TOTAL, color_in->value * strength_in->value.x);
 	else
 		compiler.add_node(NODE_CLOSURE_SET_WEIGHT, color_in->value * strength_in->value.x);
 
@@ -1879,7 +1875,6 @@ void EmissionNode::compile(SVMCompiler& compiler)
 
 void EmissionNode::compile(OSLCompiler& compiler)
 {
-	compiler.parameter("TotalPower", (total_power)? 1: 0);
 	compiler.add(this, "node_emission");
 }
 
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h
index d94d8ce..8bdce99 100644
--- a/intern/cycles/render/nodes.h
+++ b/intern/cycles/render/nodes.h
@@ -294,8 +294,6 @@ public:
 
 	bool has_surface_emission() { return true; }
 	bool has_spatial_varying() { return true; }
-
-	bool total_power;
 };
 
 class BackgroundNode : public ShaderNode {




More information about the Bf-blender-cvs mailing list