diff options
Diffstat (limited to 'intern/cycles/kernel/osl/osl_services.cpp')
-rw-r--r-- | intern/cycles/kernel/osl/osl_services.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/intern/cycles/kernel/osl/osl_services.cpp b/intern/cycles/kernel/osl/osl_services.cpp index dec56c6665b..0c5e5e30e47 100644 --- a/intern/cycles/kernel/osl/osl_services.cpp +++ b/intern/cycles/kernel/osl/osl_services.cpp @@ -64,8 +64,7 @@ CCL_NAMESPACE_BEGIN static void copy_matrix(OSL::Matrix44& m, const Transform& tfm) { - // TODO: remember when making affine - Transform t = transform_transpose(tfm); + ProjectionTransform t = projection_transpose(ProjectionTransform(tfm)); memcpy(&m, &t, sizeof(m)); } @@ -553,8 +552,7 @@ static bool set_attribute_float3_3(float3 P[3], TypeDesc type, bool derivatives, static bool set_attribute_matrix(const Transform& tfm, TypeDesc type, void *val) { if(type == TypeDesc::TypeMatrix) { - Transform transpose = transform_transpose(tfm); - memcpy(val, &transpose, sizeof(Transform)); + copy_matrix(*(OSL::Matrix44*)val, tfm); return true; } |