Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-10-17 16:17:17 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-10-17 16:17:17 +0400
commitafb75ad2af0c30f1bc6fd252ca115a59d04e3b85 (patch)
treebf26823ca7542e7b5cd2e455fa551006d6be4500 /intern/cycles/kernel/svm/svm_closure.h
parent0551aa14bb2e58e79200823cde6d71c2288ca7fa (diff)
Cycles: add Tangent input for Anisotropic BSDF.
Also refactor SVM BSDF code, preparing it to be shared with OSL.
Diffstat (limited to 'intern/cycles/kernel/svm/svm_closure.h')
-rw-r--r--intern/cycles/kernel/svm/svm_closure.h24
1 files changed, 2 insertions, 22 deletions
diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h
index 6a0e6915e99..0d30792a594 100644
--- a/intern/cycles/kernel/svm/svm_closure.h
+++ b/intern/cycles/kernel/svm/svm_closure.h
@@ -190,12 +190,13 @@ __device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *st
#endif
ShaderClosure *sc = svm_node_closure_get(sd);
sc->N = N;
+ sc->T = stack_load_float3(stack, data_node.z);
svm_node_closure_set_mix_weight(sc, mix_weight);
float roughness_u = param1;
float roughness_v = param2;
- bsdf_ward_setup(sd, sc, sd->T, roughness_u, roughness_v);
+ bsdf_ward_setup(sd, sc, roughness_u, roughness_v);
break;
}
#endif
@@ -442,27 +443,6 @@ __device void svm_node_add_closure(ShaderData *sd, float *stack, uint unused,
#endif
}
-/* Tangent */
-
-#ifdef __DPDU__
-__device_inline void svm_node_closure_store_tangent(ShaderData *sd, float3 tangent)
-{
- sd->T = normalize(tangent);
-}
-
-__device void svm_node_closure_set_tangent(ShaderData *sd, uint x, uint y, uint z)
-{
- float3 tangent = make_float3(__int_as_float(x), __int_as_float(y), __int_as_float(z));
- svm_node_closure_store_tangent(sd, tangent);
-}
-
-__device void svm_node_closure_tangent(ShaderData *sd, float *stack, uint tangent_offset)
-{
- float3 tangent = stack_load_float3(stack, tangent_offset);
- svm_node_closure_store_tangent(sd, tangent);
-}
-#endif
-
/* (Bump) normal */
__device void svm_node_set_normal(KernelGlobals *kg, ShaderData *sd, float *stack, uint in_direction, uint out_normal)