Fix for OSL compile errors.

1) object_fetch_transform_motion omits the per-object motion blur test (r51394), must use object_fetch_transform_motion_test.
2) KernelCamera.ndctoworld has been removed (r51402), do transform invert directly.
This commit is contained in:
Lukas Toenne 2012-10-18 13:16:57 +00:00
parent 95963289c8
commit d396bf3546

@ -73,7 +73,7 @@ bool OSLRenderServices::get_matrix(OSL::Matrix44 &result, OSL::TransformationPtr
if (object != ~0) {
#ifdef __OBJECT_MOTION__
Transform tfm = object_fetch_transform_motion(kg, object, time);
Transform tfm = object_fetch_transform_motion_test(kg, object, time, NULL);
#else
Transform tfm = object_fetch_transform(kg, object, OBJECT_TRANSFORM);
#endif
@ -99,7 +99,7 @@ bool OSLRenderServices::get_inverse_matrix(OSL::Matrix44 &result, OSL::Transform
if (object != ~0) {
#ifdef __OBJECT_MOTION__
Transform itfm;
object_fetch_transform_motion(kg, object, time);
object_fetch_transform_motion_test(kg, object, time, &itfm);
#else
Transform itfm = object_fetch_transform(kg, object, OBJECT_INVERSE_TRANSFORM);
#endif
@ -118,7 +118,7 @@ bool OSLRenderServices::get_matrix(OSL::Matrix44 &result, ustring from, float ti
KernelGlobals *kg = kernel_globals;
if (from == u_ndc) {
Transform tfm = transform_transpose(kernel_data.cam.ndctoworld);
Transform tfm = transform_transpose(transform_quick_inverse(kernel_data.cam.worldtondc));
result = TO_MATRIX44(tfm);
return true;
}