Getting Started

Getting the Source

AnimEngine should be built from source. The source code can be retreived from the project’s Github page

Building

AnimEngine is written with C++ and OpenGL and uses CMake to configure builds across platforms. Linux, Windows, and Mac should all be supported, as are most modern GPU including integrated GPU. The projects supports GCC, MSVC, and Clang / Apple Clang.

Dependencies

CMake version 3.10 or greater must be installed in order to build AnimEngine.

AnimEngine is written using the C++ 17 standard, and likewise requires an up-to-date compiler.

  • gcc-7+

  • clang-6+

  • MSVC 19+ (Visual Studio 2019)

AnimEngine relies on several third-party libraries:

  • GLM (Version 0.9.9 recommended)

  • GLFW 3 (Version 3.3.2 recommended)

Both of the above libraries should be installed in such a way that CMake’s find_package macro can find the library. If this is not possible, the following environment variables should be set before configuration

GLM_INCLUDE_DIR=/path/to/glm/installation
GLFW_DIR=/path/to/GLFW/source

A CMakeLists.txt file should exist in each of the directories pointed to by these environment variables.

The following third party resources are also used, but come packed with the source and do not require setup:

If you need to build documentation, the following otherwise optional tools will be required:

Build Configuration and building

Persons familiar with CMake will likely be able to skip this section and can just use CMake in the usual manner.

  1. Create a build directory in the within the root directory of the project mkdir build

  2. Run Cmake from within the build directory and with the root directory of the project as the argument cd build; cmake ..

  3. Build through CMake or open generated project files in your editor of choice: cmake --build build

Running AnimEngine

Once built AnimEngine can be used from the command line. AnimEngine expects some number of glTF files as arguments, loads these files, then plays them in succession. For example, viewing the MonkeyRead.glb test file is done as follows assuming it is run from the build folder.:

AnimEngine ../assets/MonkeyRead.glb

AnimEngine defaults to a realtime render mode which does not use any kind of global illumination and which can be used to quickly inspect assets and scenes. If a camera exists within the scene, then the scene plays automatically and is scene from the view of the camera. If the scene contains no camera, it is paused at the start and the scene is viewed through an interactive free camera.

Default controls are as follows:

  • Spacebar: Pause/Play scene

  • Right Arrow: Jump to next scene/glTF file

  • Escape: Exit

If you wish to render the scene(s) in non-realtime mode then use the --output | -o flag followed by a path to which frames will be saved. Additionally the -r flag exists to allow the framerate to be set. The framerate defaults to 24, but could be changed to 15 as follows.:

AnimEngine ../assets/MonkeyRead.glb -o /tmp/ -r 15

Note that the framerate flag is invalid unless non-realtime rendering is also enabled.