Motive Animation System
An open source project by
FPL.
|
If you prefer, you can ignore the included build scripts, and manually add Motive to your build system by simply,
motive/src/motive
motive/include
to your list of include directoriesNote that, when compiling motive/src/motive
, you'll also need these include directories: mathfu/include
, mathfu/benchmarks
, and fplutil/libfplutil/include
.
Note also that compilation of motive/src/io/flatbuffers.cpp
is optional (see below).
Motive runs best with mathfu
's SIMD support enabled. Support is enabled by default, but you may have to add a compiler flag to enable SIMD instructions on your compiler. Please see the enable_simd
section of MathFu's CMakeLists.txt
file for details.
You can add defines to enable the options below. For example, use /Ddefine_name
with the Visual Studio (or use Configuration Properties\ C,C++ \ Preprocessor
), or -Ddefine_name
on g++.
MotiveProcessor
and periodically output a histogram of these runtimes.Neon
to run both the NEON and C++ versions of the code and compare the results. Useful for testing assembly language functions. Currently only NEON functions exist.-mfpu=neon
option on gcc.You can optionally use FlatBuffers to quickly load your Motive data in binary format, and to easily edit your data in text format (json).
Motive's FlatBuffer support is accessed with motive/include/io/flatbuffers.h
. To add support for this header, you'll need to compile motive/src/io/flatbuffers.cpp
.
Before you compile motive/src/io/flatbuffers.cpp
, you need to call the FlatBuffer compiler flatc
to generate a header file for motive's FlatBuffer schemas.
This will create generated_includes/motive_generated.h
. You should add generated_includes
to your include path when compiling motive/src/io/flatbuffers.cpp
.
The flatc
compiler can be downloaded from the latest FlatBuffer release, or you can build it yourself (see FlatBuffers build instructions).