Motive Animation System
An open source project by
FPL.
|
Motive is an animation system written in cross-platform C++. It's designed to be,
You can see Motive animation in use in the Zooshi and Pie Noon sample games.
Motive is written in C++. You should be familiar with C++ coding environments and tools.
In Motive, a Motivator encapsulates an animating variable. There are currently two kinds of Motivators: One to animate a float, and one to animate a 4x4 matrix.
Each Motivator is driven by a MotiveProcessor. Each MotiveProcessor implements a different algorithm for animating a variable. There are several MotiveProcessors and a Motivator may be switched between them.
A MotiveProcessor holds the animation data for all Motivators
that it drives. This animation data is updated in bulk during the MotiveEngine AdvanceFrame()
call. The high performance of the Motive System comes from the optimization oportunities provided by this bulk update.
All Motivators are updated at the same time in one call to MotiveEngine::AdvanceFrame()
. You can have multiple MotiveEngines, if required, but you will get the best performance if you have just one.
Motive has SIMD versions of essential functions for NEON processors.
Motive uses the MathFu vector math library. For optimial performance, you should use the SIMD implementation of MathFu by specifying MATHFU_COMPILE_WITH_SIMD
.