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_texture_coordinate.osl')
-rw-r--r--intern/cycles/kernel/shaders/node_texture_coordinate.osl141
1 files changed, 70 insertions, 71 deletions
diff --git a/intern/cycles/kernel/shaders/node_texture_coordinate.osl b/intern/cycles/kernel/shaders/node_texture_coordinate.osl
index 9e2109fa082..13861653d04 100644
--- a/intern/cycles/kernel/shaders/node_texture_coordinate.osl
+++ b/intern/cycles/kernel/shaders/node_texture_coordinate.osl
@@ -17,82 +17,81 @@
#include "stdosl.h"
shader node_texture_coordinate(
- normal NormalIn = N,
- int is_background = 0,
- int is_volume = 0,
- int from_dupli = 0,
- int use_transform = 0,
- string bump_offset = "center",
- matrix object_itfm = matrix(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+ normal NormalIn = N,
+ int is_background = 0,
+ int is_volume = 0,
+ int from_dupli = 0,
+ int use_transform = 0,
+ string bump_offset = "center",
+ matrix object_itfm = matrix(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
- output point Generated = point(0.0, 0.0, 0.0),
- output point UV = point(0.0, 0.0, 0.0),
- output point Object = point(0.0, 0.0, 0.0),
- output point Camera = point(0.0, 0.0, 0.0),
- output point Window = point(0.0, 0.0, 0.0),
- output normal Normal = normal(0.0, 0.0, 0.0),
- output point Reflection = point(0.0, 0.0, 0.0))
+ output point Generated = point(0.0, 0.0, 0.0),
+ output point UV = point(0.0, 0.0, 0.0),
+ output point Object = point(0.0, 0.0, 0.0),
+ output point Camera = point(0.0, 0.0, 0.0),
+ output point Window = point(0.0, 0.0, 0.0),
+ output normal Normal = normal(0.0, 0.0, 0.0),
+ output point Reflection = point(0.0, 0.0, 0.0))
{
- if (is_background) {
- Generated = P;
- UV = point(0.0, 0.0, 0.0);
- Object = P;
- point Pcam = transform("camera", "world", point(0, 0, 0));
- Camera = transform("camera", P + Pcam);
- getattribute("NDC", Window);
- Normal = NormalIn;
- Reflection = I;
- }
- else {
- if (from_dupli) {
- getattribute("geom:dupli_generated", Generated);
- getattribute("geom:dupli_uv", UV);
- }
- else if (is_volume) {
- Generated = transform("object", P);
+ if (is_background) {
+ Generated = P;
+ UV = point(0.0, 0.0, 0.0);
+ Object = P;
+ point Pcam = transform("camera", "world", point(0, 0, 0));
+ Camera = transform("camera", P + Pcam);
+ getattribute("NDC", Window);
+ Normal = NormalIn;
+ Reflection = I;
+ }
+ else {
+ if (from_dupli) {
+ getattribute("geom:dupli_generated", Generated);
+ getattribute("geom:dupli_uv", UV);
+ }
+ else if (is_volume) {
+ Generated = transform("object", P);
- matrix tfm;
- if (getattribute("geom:generated_transform", tfm))
- Generated = transform(tfm, Generated);
+ matrix tfm;
+ if (getattribute("geom:generated_transform", tfm))
+ Generated = transform(tfm, Generated);
- getattribute("geom:uv", UV);
- }
- else {
- getattribute("geom:generated", Generated);
- getattribute("geom:uv", UV);
- }
+ getattribute("geom:uv", UV);
+ }
+ else {
+ getattribute("geom:generated", Generated);
+ getattribute("geom:uv", UV);
+ }
- if (use_transform) {
- Object = transform(object_itfm, P);
- }
- else {
- Object = transform("object", P);
- }
- Camera = transform("camera", P);
- Window = transform("NDC", P);
- Normal = transform("world", "object", NormalIn);
- Reflection = -reflect(I, NormalIn);
- }
+ if (use_transform) {
+ Object = transform(object_itfm, P);
+ }
+ else {
+ Object = transform("object", P);
+ }
+ Camera = transform("camera", P);
+ Window = transform("NDC", P);
+ Normal = transform("world", "object", NormalIn);
+ Reflection = -reflect(I, NormalIn);
+ }
- if (bump_offset == "dx") {
- if (!from_dupli) {
- Generated += Dx(Generated);
- UV += Dx(UV);
- }
- Object += Dx(Object);
- Camera += Dx(Camera);
- Window += Dx(Window);
- }
- else if (bump_offset == "dy") {
- if (!from_dupli) {
- Generated += Dy(Generated);
- UV += Dy(UV);
- }
- Object += Dy(Object);
- Camera += Dy(Camera);
- Window += Dy(Window);
- }
+ if (bump_offset == "dx") {
+ if (!from_dupli) {
+ Generated += Dx(Generated);
+ UV += Dx(UV);
+ }
+ Object += Dx(Object);
+ Camera += Dx(Camera);
+ Window += Dx(Window);
+ }
+ else if (bump_offset == "dy") {
+ if (!from_dupli) {
+ Generated += Dy(Generated);
+ UV += Dy(UV);
+ }
+ Object += Dy(Object);
+ Camera += Dy(Camera);
+ Window += Dy(Window);
+ }
- Window[2] = 0.0;
+ Window[2] = 0.0;
}
-