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/osl/osl_services.cpp')
-rw-r--r--intern/cycles/kernel/osl/osl_services.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/intern/cycles/kernel/osl/osl_services.cpp b/intern/cycles/kernel/osl/osl_services.cpp
index 0f3edcb7eaa..26543862b80 100644
--- a/intern/cycles/kernel/osl/osl_services.cpp
+++ b/intern/cycles/kernel/osl/osl_services.cpp
@@ -168,6 +168,12 @@ bool OSLRenderServices::get_matrix(OSL::ShaderGlobals *sg, OSL::Matrix44 &result
return true;
}
+ else if(sd->type == PRIMITIVE_LAMP) {
+ Transform tfm = transform_transpose(sd->ob_tfm);
+ COPY_MATRIX44(&result, &tfm);
+
+ return true;
+ }
}
return false;
@@ -198,6 +204,12 @@ bool OSLRenderServices::get_inverse_matrix(OSL::ShaderGlobals *sg, OSL::Matrix44
return true;
}
+ else if(sd->type == PRIMITIVE_LAMP) {
+ Transform tfm = transform_transpose(sd->ob_itfm);
+ COPY_MATRIX44(&result, &tfm);
+
+ return true;
+ }
}
return false;
@@ -287,6 +299,12 @@ bool OSLRenderServices::get_matrix(OSL::ShaderGlobals *sg, OSL::Matrix44 &result
return true;
}
+ else if(sd->type == PRIMITIVE_LAMP) {
+ Transform tfm = transform_transpose(sd->ob_tfm);
+ COPY_MATRIX44(&result, &tfm);
+
+ return true;
+ }
}
return false;
@@ -312,6 +330,12 @@ bool OSLRenderServices::get_inverse_matrix(OSL::ShaderGlobals *sg, OSL::Matrix44
return true;
}
+ else if(sd->type == PRIMITIVE_LAMP) {
+ Transform tfm = transform_transpose(sd->ob_itfm);
+ COPY_MATRIX44(&result, &tfm);
+
+ return true;
+ }
}
return false;