[Bf-cycles] Motion blur related typo?
Brecht Van Lommel
brechtvanlommel at pandora.be
Sun Nov 11 04:07:06 CET 2012
Thanks for pointing it out, but it's not a typo :)
What this does is disable curved motion blur, which indeed has some
issues currently, there's a bug about in the tracker. The problem is
that it creates and evaluates a quadratic curve to interpolate between
positions, but this does not give constant speed motion. We need a
quick arc-length parametrization of the curve, but I haven't found out
yet how to do that.
Brecht.
On Sun, Nov 11, 2012 at 3:28 AM, storm <kartochka22 at yandex.ru> wrote:
> I found it by accident, those lines in util_transform looks suspicious,
> ia mm not familiar with matrix dicomposition and not sure it right, but
> with that patch camera and object MB produce more predictable result.
>
> Index: intern/cycles/util/util_transform.h
> ===================================================================
> --- intern/cycles/util/util_transform.h (revision 52083)
> +++ intern/cycles/util/util_transform.h (working copy)
> @@ -401,7 +401,7 @@
> t *= 2.0f;
>
> decomp.x = quat_interpolate(motion->pre.x, motion->mid.x, t);
> - decomp.y.w = (1.0f - t)*motion->pre.y.w + t*motion->mid.y.w;
> + decomp.y = (1.0f - t)*motion->pre.y + t*motion->mid.y;
> decomp.z = (1.0f - t)*motion->pre.z + t*motion->mid.z;
> decomp.w = (1.0f - t)*motion->pre.w + t*motion->mid.w;
> }
> @@ -409,7 +409,7 @@
> t = (t - 0.5f)*2.0f;
>
> decomp.x = quat_interpolate(motion->mid.x, motion->post.x, t);
> - decomp.y.w = (1.0f - t)*motion->mid.y.w + t*motion->post.y.w;
> + decomp.y = (1.0f - t)*motion->mid.y + t*motion->post.y;
> decomp.z = (1.0f - t)*motion->mid.z + t*motion->post.z;
> decomp.w = (1.0f - t)*motion->mid.w + t*motion->post.w;
> }
>
>
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> http://lists.blender.org/mailman/listinfo/bf-cycles
More information about the Bf-cycles
mailing list