- Amsterdam, Netherlands
- https://cessen.com
-
Animator, rigger, and software developer. Currently working at the Blender Institute as a developer on Blender's animation system.
Been using Blender since 1998, and worked on Big Buck Bunny and Sintel (two of Blender's open movie projects).
- Joined on
2003-03-21
tmpact
property.
Out of curiosity, I looked up the defined behavior: https://en.cppreference.com/w/c/language/conversion
It turns out that using a float
as a boolean is equivalent to first casting the float…
Ah! I should have looked at the changes first. Yeah, I think I prefer the else branch, like you've written it now. Thanks so much!
Ah, yeah. I'm well aware of the semantics of const *
, but I wasn't following the control flow correctly: I forgot about the case where the if
branch is skipped.
All other things being…
I did some testing with your new solution, and it works great! Awesome work!
I did find some extreme situations with shear that could still be improved, but this is already such a massive…
I brought this to the animation module meeting, and we agreed that we'd like to merge this once the code is in shape. I did another code review, with some change requests.
deform_dq
is declared const
, so it feels like bad form to modify its pointer. I think it would be better to get rid of this assignment entirely, and just use mdq
directly below.
I think the memcpy()
can be replaced with the simpler:
I think it's already fairly obvious that mdq.quat[i]
are the wxyz components of the quaternion, so I'd say get rid of the temporary variables and just use mdq.quat
directly.
Instead of FIX
I think WORKAROUND
is more appropriate here, because this only properly addresses the "all bones uniformly scale by the same amount" case.