diff options
author | Thomas Dinges <blender@dingto.org> | 2014-05-30 16:32:32 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2014-05-30 16:32:59 +0400 |
commit | 2c69f1e574587c2364e9a94b45d0b363ffeebf61 (patch) | |
tree | 0f32308e4c4dfe88a7a4fe7a98ecb9c5ba8116d3 | |
parent | a26e41c0b9cda257a0470d40e022180fad98c239 (diff) |
Cleanup: Remove unused total power Emission code in Cycles, that was never exposed in the UI.
Differential Revision: https://developer.blender.org/D562
-rw-r--r-- | intern/cycles/app/cycles_xml.cpp | 4 | ||||
-rw-r--r-- | intern/cycles/kernel/shaders/node_emission.osl | 6 | ||||
-rw-r--r-- | intern/cycles/kernel/svm/svm.h | 5 | ||||
-rw-r--r-- | intern/cycles/kernel/svm/svm_closure.h | 14 | ||||
-rw-r--r-- | intern/cycles/kernel/svm/svm_types.h | 1 | ||||
-rw-r--r-- | intern/cycles/render/nodes.cpp | 7 | ||||
-rw-r--r-- | intern/cycles/render/nodes.h | 2 |
7 files changed, 3 insertions, 36 deletions
diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp index d5ef30e5c6f..de554fba954 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 2428da5ef4e..b28d731c19f 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 dbf59c60cb0..6d556a66afa 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 a3770877544..27c5a19a7a0 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 80972ec82bc..fda035fdbe0 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 a53e0b39435..1a1667ff1b3 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 d94d8ce6033..8bdce9901b2 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 { |