[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52663] trunk/blender/intern/cycles/kernel /osl: Fix cycles motion blur + OSL + object texture coordinates issue.
Brecht Van Lommel
brechtvanlommel at pandora.be
Thu Nov 29 17:11:38 CET 2012
Revision: 52663
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52663
Author: blendix
Date: 2012-11-29 16:11:37 +0000 (Thu, 29 Nov 2012)
Log Message:
-----------
Fix cycles motion blur + OSL + object texture coordinates issue.
Modified Paths:
--------------
trunk/blender/intern/cycles/kernel/osl/osl_services.cpp
trunk/blender/intern/cycles/kernel/osl/osl_shader.cpp
Modified: trunk/blender/intern/cycles/kernel/osl/osl_services.cpp
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/osl_services.cpp 2012-11-29 16:06:36 UTC (rev 52662)
+++ trunk/blender/intern/cycles/kernel/osl/osl_services.cpp 2012-11-29 16:11:37 UTC (rev 52663)
@@ -80,7 +80,12 @@
if (object != ~0) {
#ifdef __OBJECT_MOTION__
- Transform tfm = object_fetch_transform_motion_test(kg, object, time, NULL);
+ Transform tfm;
+
+ if(time == sd->time)
+ tfm = sd->ob_tfm;
+ else
+ tfm = object_fetch_transform_motion_test(kg, object, time, NULL);
#else
Transform tfm = object_fetch_transform(kg, object, OBJECT_TRANSFORM);
#endif
@@ -106,7 +111,11 @@
if (object != ~0) {
#ifdef __OBJECT_MOTION__
Transform itfm;
- object_fetch_transform_motion_test(kg, object, time, &itfm);
+
+ if(time == sd->time)
+ itfm = sd->ob_itfm;
+ else
+ object_fetch_transform_motion_test(kg, object, time, &itfm);
#else
Transform itfm = object_fetch_transform(kg, object, OBJECT_INVERSE_TRANSFORM);
#endif
Modified: trunk/blender/intern/cycles/kernel/osl/osl_shader.cpp
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/osl_shader.cpp 2012-11-29 16:06:36 UTC (rev 52662)
+++ trunk/blender/intern/cycles/kernel/osl/osl_shader.cpp 2012-11-29 16:11:37 UTC (rev 52663)
@@ -106,6 +106,7 @@
globals->dPdu = TO_VEC3(sd->dPdu);
globals->dPdv = TO_VEC3(sd->dPdv);
globals->surfacearea = (sd->object == ~0) ? 1.0f : object_surface_area(kg, sd->object);
+ globals->time = sd->time;
/* booleans */
globals->raytype = path_flag; /* todo: add our own ray types */
More information about the Bf-blender-cvs
mailing list