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:
Diffstat (limited to 'intern/cycles/kernel/shaders/node_vector_displacement.osl')
-rw-r--r--intern/cycles/kernel/shaders/node_vector_displacement.osl78
1 files changed, 38 insertions, 40 deletions
diff --git a/intern/cycles/kernel/shaders/node_vector_displacement.osl b/intern/cycles/kernel/shaders/node_vector_displacement.osl
index b19bc228e37..e9bd336347f 100644
--- a/intern/cycles/kernel/shaders/node_vector_displacement.osl
+++ b/intern/cycles/kernel/shaders/node_vector_displacement.osl
@@ -16,45 +16,43 @@
#include "stdosl.h"
-shader node_vector_displacement(
- color Vector = color(0.0, 0.0, 0.0),
- float Midlevel = 0.0,
- float Scale = 1.0,
- string space = "tangent",
- string attr_name = "geom:tangent",
- string attr_sign_name = "geom:tangent_sign",
- output vector Displacement = vector(0.0, 0.0, 0.0))
+shader node_vector_displacement(color Vector = color(0.0, 0.0, 0.0),
+ float Midlevel = 0.0,
+ float Scale = 1.0,
+ string space = "tangent",
+ string attr_name = "geom:tangent",
+ string attr_sign_name = "geom:tangent_sign",
+ output vector Displacement = vector(0.0, 0.0, 0.0))
{
- vector offset = (Vector - vector(Midlevel)) * Scale;
-
- if(space == "tangent") {
- /* Tangent space. */
- vector N_object = normalize(transform("world", "object", N));
-
- vector T_object;
- if(getattribute(attr_name, T_object)) {
- T_object = normalize(T_object);
- }
- else {
- T_object = normalize(dPdu);
- }
-
- vector B_object = normalize(cross(N_object, T_object));
- float tangent_sign;
- if(getattribute(attr_sign_name, tangent_sign)) {
- B_object *= tangent_sign;
- }
-
- Displacement = T_object*offset[0] + N_object*offset[1] + B_object*offset[2];
- }
- else {
- /* Object or world space. */
- Displacement = offset;
- }
-
- if(space != "world") {
- /* Tangent or object space. */
- Displacement = transform("object", "world", Displacement);
- }
+ vector offset = (Vector - vector(Midlevel)) * Scale;
+
+ if (space == "tangent") {
+ /* Tangent space. */
+ vector N_object = normalize(transform("world", "object", N));
+
+ vector T_object;
+ if (getattribute(attr_name, T_object)) {
+ T_object = normalize(T_object);
+ }
+ else {
+ T_object = normalize(dPdu);
+ }
+
+ vector B_object = normalize(cross(N_object, T_object));
+ float tangent_sign;
+ if (getattribute(attr_sign_name, tangent_sign)) {
+ B_object *= tangent_sign;
+ }
+
+ Displacement = T_object * offset[0] + N_object * offset[1] + B_object * offset[2];
+ }
+ else {
+ /* Object or world space. */
+ Displacement = offset;
+ }
+
+ if (space != "world") {
+ /* Tangent or object space. */
+ Displacement = transform("object", "world", Displacement);
+ }
}
-