diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-05-09 03:39:31 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-05-09 03:39:31 +0400 |
commit | c8cbe63947f6ba05584b5dc6d298dd7301e5dbc0 (patch) | |
tree | 6a030c8fb79c0908dc4d94fe3e3cdd5b819faefa /intern/cycles/kernel/kernel_object.h | |
parent | f33080532cbefe3837a5dec0613b1fd803ac072e (diff) |
Cycles: fix issues with texture coordinates and object scale. Auto texture
space size and location were outdated often, and already computed on demand
by blender internal, now do that through RNA as well.
Diffstat (limited to 'intern/cycles/kernel/kernel_object.h')
-rw-r--r-- | intern/cycles/kernel/kernel_object.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/intern/cycles/kernel/kernel_object.h b/intern/cycles/kernel/kernel_object.h index 4a3ef55e8cb..abe427d8345 100644 --- a/intern/cycles/kernel/kernel_object.h +++ b/intern/cycles/kernel/kernel_object.h @@ -77,6 +77,16 @@ __device_inline void object_position_transform(KernelGlobals *kg, ShaderData *sd #endif } +__device_inline void object_inverse_position_transform(KernelGlobals *kg, ShaderData *sd, float3 *P) +{ +#ifdef __MOTION__ + *P = transform_point(&sd->ob_itfm, *P); +#else + Transform tfm = object_fetch_transform(kg, sd->object, TIME_INVALID, OBJECT_INVERSE_TRANSFORM); + *P = transform_point(&tfm, *P); +#endif +} + __device_inline void object_inverse_normal_transform(KernelGlobals *kg, ShaderData *sd, float3 *N) { #ifdef __MOTION__ |