Fix #33344: cycles motion blur was still crashing on CUDA sm 2.0. Solution now
[blender.git] / intern / cycles / util / util_transform.h
index dbf88cb67a0c8ecd31273dd4bc81e3eaede9761d..a1c12ddf0e1f1fce0a3390a4c4d86274edd75a46 100644 (file)
@@ -311,6 +311,10 @@ __device_inline Transform transform_clear_scale(const Transform& tfm)
 
 __device_inline float4 quat_interpolate(float4 q1, float4 q2, float t)
 {
+       /* use simpe nlerp instead of slerp. it's faster and almost the same */
+       return normalize((1.0f - t)*q1 + t*q2);
+
+#if 0
        /* note: this does not ensure rotation around shortest angle, q1 and q2
         * are assumed to be matched already in transform_motion_decompose */
        float costheta = dot(q1, q2);
@@ -328,6 +332,7 @@ __device_inline float4 quat_interpolate(float4 q1, float4 q2, float t)
                float thetap = theta * t;
                return q1 * cosf(thetap) + qperp * sinf(thetap);
        }
+#endif
 }
 
 __device_inline Transform transform_quick_inverse(Transform M)