Commit: 1fcfb0b9e775a98c68f0bbe2432a4b1cb7e7602a
Author: Kévin Dietrich
Date:   Thu Jul 2 12:18:43 2015 +0200
Branches: openvdb
https://developer.blender.org/rB1fcfb0b9e775a98c68f0bbe2432a4b1cb7e7602a

Revert "Cycles: add support for transforming the grid (pos, rot, scale)."

This reverts commit 9514191b0cd63457f6f15d3eb7362651a57f1fec.

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

M       intern/cycles/kernel/svm/svm.h
M       intern/cycles/kernel/svm/svm_openvdb.h
M       intern/cycles/render/nodes.cpp
M       intern/cycles/render/nodes.h
M       source/blender/nodes/shader/nodes/node_shader_openvdb.c

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

diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h
index 14be4a9..7dcbb2d 100644
--- a/intern/cycles/kernel/svm/svm.h
+++ b/intern/cycles/kernel/svm/svm.h
@@ -450,7 +450,7 @@ ccl_device_noinline void svm_eval_nodes(KernelGlobals *kg, 
ShaderData *sd, Shade
 #endif  /* NODES_GROUP(NODE_GROUP_LEVEL_3) */
 #ifdef __OPENVDB__
                        case NODE_OPENVDB:
-                               svm_node_openvdb(kg, sd, stack, node, &offset);
+                               svm_node_openvdb(kg, sd, stack, node);
                                break;
 #endif
                        case NODE_END:
diff --git a/intern/cycles/kernel/svm/svm_openvdb.h 
b/intern/cycles/kernel/svm/svm_openvdb.h
index 8820dae..3b82e76 100644
--- a/intern/cycles/kernel/svm/svm_openvdb.h
+++ b/intern/cycles/kernel/svm/svm_openvdb.h
@@ -18,20 +18,11 @@ CCL_NAMESPACE_BEGIN
 
 #ifdef __OPENVDB__
 
-ccl_device void svm_node_openvdb(KernelGlobals *kg, ShaderData *sd, float 
*stack, uint4 node, int *offset)
+ccl_device void svm_node_openvdb(KernelGlobals *kg, ShaderData *sd, float 
*stack, uint4 node)
 {
-       uint slot = node.y;
-       uint type, out_offset, sampling, co_offset;
-       decode_node_uchar4(node.z, &type, &co_offset, &out_offset, &sampling);
-
-       float3 co = stack_load_float3(stack, co_offset);
-
-       Transform tfm;
-       tfm.x = read_node_float(kg, offset);
-       tfm.y = read_node_float(kg, offset);
-       tfm.z = read_node_float(kg, offset);
-       tfm.w = read_node_float(kg, offset);
-       co = transform_point(&tfm, co);
+       float3 co = ccl_fetch(sd, P);
+       uint type, out_offset, sampling, slot;
+       decode_node_uchar4(node.y, &slot, &type, &out_offset, &sampling);
 
        if(type == NODE_VDB_FLOAT) {
                float out = kernel_tex_voxel_float(slot, co.x, co.y, co.z, 
sampling);
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index 4f865f7..5af0425 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -4374,26 +4374,17 @@ OpenVDBNode::OpenVDBNode()
        filename = "";
        volume_manager = NULL;
        sampling = OPENVDB_SAMPLE_POINT;
-       tfm = transform_identity();
-
-       add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::POSITION);
 }
 
 void OpenVDBNode::attributes(Shader *shader, AttributeRequestSet *attributes)
 {
-       if(shader->has_volume)
-               attributes->add(ATTR_STD_GENERATED_TRANSFORM);
-
        ShaderNode::attributes(shader, attributes);
 }
 
 void OpenVDBNode::compile(SVMCompiler& compiler)
 {
-       ShaderInput *vector_in = input("Vector");
        volume_manager = compiler.volume_manager;
 
-       compiler.stack_assign(vector_in);
-
        for(size_t i = 0; i < outputs.size(); ++i) {
                ShaderOutput *out = outputs[i];
 
@@ -4418,16 +4409,7 @@ void OpenVDBNode::compile(SVMCompiler& compiler)
                compiler.stack_assign(out);
 
                compiler.add_node(NODE_OPENVDB,
-                                 grid_slot,
-                                 compiler.encode_uchar4(type,
-                                                        
vector_in->stack_offset,
-                                                        out->stack_offset,
-                                                        sampling));
-
-               compiler.add_node(tfm.x);
-               compiler.add_node(tfm.y);
-               compiler.add_node(tfm.z);
-               compiler.add_node(tfm.w);
+                                 compiler.encode_uchar4(grid_slot, type, 
out->stack_offset, sampling));
        }
 }
 
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h
index aa6cc33..1bba8a0 100644
--- a/intern/cycles/render/nodes.h
+++ b/intern/cycles/render/nodes.h
@@ -747,8 +747,6 @@ public:
        int grid_slot;
        int sampling;
        vector<ustring> output_names;
-
-       Transform tfm;
 };
 
 CCL_NAMESPACE_END
diff --git a/source/blender/nodes/shader/nodes/node_shader_openvdb.c 
b/source/blender/nodes/shader/nodes/node_shader_openvdb.c
index 0b8b996..d0e8fb3 100644
--- a/source/blender/nodes/shader/nodes/node_shader_openvdb.c
+++ b/source/blender/nodes/shader/nodes/node_shader_openvdb.c
@@ -31,11 +31,6 @@
 #  include "openvdb_capi.h"
 #endif
 
-static bNodeSocketTemplate sh_node_openvdb_in[] = {
-    {SOCK_VECTOR, 1, N_("Vector"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 
PROP_NONE, SOCK_HIDE_VALUE},
-    {-1, 0, ""}
-};
-
 static void node_shader_init_openvdb(bNodeTree *UNUSED(ntree), bNode *node)
 {
        NodeShaderOpenVDB *vdb = MEM_callocN(sizeof(NodeShaderOpenVDB), 
"NodeShaderOpenVDB");
@@ -138,7 +133,6 @@ void register_node_type_sh_openvdb(void)
        sh_node_type_base(&ntype, SH_NODE_OPENVDB, "OpenVDB Volume", 
NODE_CLASS_INPUT, 0);
        node_type_compatibility(&ntype, NODE_NEW_SHADING);
        node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
-       node_type_socket_templates(&ntype, sh_node_openvdb_in, NULL);
        node_type_init(&ntype, node_shader_init_openvdb);
        node_type_storage(&ntype, "NodeShaderOpenVDB", 
node_shader_free_openvdb, node_shader_copy_openvdb);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to