/aer-engine

:aquarius: An OpenGL 4.3 / C++ 11 rendering engine oriented towards animation.

Primary LanguageC++MIT LicenseMIT

aer-engine

About

An OpenGL 4.3 / C++ 11 rendering engine oriented towards animation.

Features:

  • Custom animation model format, SKMA, with a Blender exporter and a C++ Importer.
  • Skeleton animation with GPU Skinning using Dual Quaternion Blending.
  • Blend shape control (Morph Targets).
  • Blend tree for sequences and clips processing.

Demos

aura A technical demo demonstrating the animation capabilities of the engine, with some rendering techniques (eg. HBAO on Compute Shader).
cuda_cs_blur Performance comparison between a CUDA and a Compute Shader blur kernel.
gpu_raymarching Raymarching on a Fragment Shader.
hair dynamic hair simulation rendered with tesselation and instanciation.
ik_demo A Basic Inverse Kinematic demo.
marching_cube Procedural geometry generation with a marching cube algorithm on the GPU using transform feedback.

Compilation

The build was compiled against GCC 4.9.

Compile first the engine, then the demos :

mkdir build; cd build;
mkdir engine; cd engine
cmake ../../engine -DCMAKE_BUILD_TYPE:STRING=Release
make -j4
cd ..
mkdir demos; cd demos
cmake ../../demos -DCMAKE_BUILD_TYPE:STRING=Release
make -j4

Engine dependencies :

SFML 2.1 Used as core window manager.
Freeimage 3 Image loader.
Armadillo 3.9 Linear algebra library.
GLM 0.9.6+ OpenGL Mathematics library.
GLEW 0.9.0+ OpenGL wrangler.
GLSW GLSL wrangler (provided).

Version number corresponded to the development environment.