diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-10-10 17:02:20 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-10-10 17:02:20 +0400 |
commit | f0a9b664694dacb0388a8e078d46753dc6a36352 (patch) | |
tree | 2abf4e68d65708dd36133f1ed83c2b578d34b859 /intern/cycles/kernel/svm/svm.h | |
parent | b4671d67edef053118ae53b12b2672603a8bf9b6 (diff) |
Cycles: Anisotropic BSDF enabled, with tangents now computed from the active UV map.
It's using the Ward BSDF currently, which has some energy loss so might be a bit
dark. More/better BSDF options can be implemented later.
Patch by Mike Farnsworth, some modifications by me. Currently it's not possible yet
to set a custom tangent, that will follow as part of per-bsdf normals patch.
Diffstat (limited to 'intern/cycles/kernel/svm/svm.h')
-rw-r--r-- | intern/cycles/kernel/svm/svm.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 5b0f192ea47..e5167a4f670 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -205,6 +205,14 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT case NODE_CLOSURE_WEIGHT: svm_node_closure_weight(sd, stack, node.y); break; +#ifdef __DPDU__ + case NODE_CLOSURE_SET_TANGENT: + svm_node_closure_set_tangent(sd, node.y, node.z, node.w); + break; + case NODE_CLOSURE_TANGENT: + svm_node_closure_tangent(sd, stack, node.y); + break; +#endif case NODE_EMISSION_WEIGHT: svm_node_emission_weight(kg, sd, stack, node); break; @@ -261,14 +269,14 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT svm_node_camera(kg, sd, stack, node.y, node.z, node.w); break; case NODE_GEOMETRY: - svm_node_geometry(sd, stack, node.y, node.z); + svm_node_geometry(kg, sd, stack, node.y, node.z); break; #ifdef __EXTRA_NODES__ case NODE_GEOMETRY_BUMP_DX: - svm_node_geometry_bump_dx(sd, stack, node.y, node.z); + svm_node_geometry_bump_dx(kg, sd, stack, node.y, node.z); break; case NODE_GEOMETRY_BUMP_DY: - svm_node_geometry_bump_dy(sd, stack, node.y, node.z); + svm_node_geometry_bump_dy(kg, sd, stack, node.y, node.z); break; case NODE_LIGHT_PATH: svm_node_light_path(sd, stack, node.y, node.z, path_flag); |