Vorticity / Arsen (2010)

Windows/Linux, C++, OpenGL, NVIDIA Cg, ARToolKit

Vorticity is an OpenGL 3D engine written in C++. I've started early drafts and development work in 2009 and then continued in 2010 during "Arsen" augmented reality game project.

Also in 2010 Miłosz Kosobucki joined the project and helped me write the I/O subsystem of the engine. He now maintains the CMake build system and X11 port of the platform-specific bits.

The engine is heavily based on dynamic scene graph concept where each node performs computations that lead to synthesis of final frame image. This approach allows for great flexibility in expanding the rendering pipeline by addition of Node classes like new light, geometry types or animation controllers.

The OpenGL renderer uses NVIDIA Cg Toolkit for parsing CgFX effect files which allows for fully programmable shading including multipass shaders or technique selection depending on hardware capabilities. Support for OpenGL frame-buffer objects combined with a simple post-processing pipeline allows for effects such as full screen Gaussian bur or HDR rendering with bloom effect in bright areas.

Triangular meshes suitable for use in the engine are stored in our own native format. An exporter plugin is provided for 3D Studio MAX.