Vortex 3D Engine

The Vortex 3D Engine is my custom 3D Engine built for the specific objective of rendering native cross-platform realtime 3D graphics. Vortex can be seen as a set of proven, reusable components that enable delivering 3D applications and games on a disparate array of platforms, including iOS, Android, Windows, Linux and Mac.

A Lightscattering Implementation powered by the Vortex 3D Engine.

The Vortex 3D Editor is a custom-built editor for the Vortex 3D Engine that can be used for visually building scenes and 3D experiences.

Notes on the development of the Vortex 3D Engine, as well as the Computer Graphics techniques behind it can be found in the Computer Graphics page.

Some of the most prominent features of Vortex Engine include:

  • Fully developed in conformant C++11, completely object-oriented.
  • Light-weight and portable.
  • Non-intrusive and flexible.
  • Minimal external dependencies.
  • Dynamic scene management.
  • Automatic resource life-cycle management through reference counting.
  • Rendering through the Fixed and the Programable pipelines.
  • Supports Desktop OpenGL, OpenGL ES 1.1 and OpenGL ES 2.0.

The following scenes were rendered using Vortex 3D:

Vortex Framebuffer Object Support: a knight is rendered on a texture that is then mapped on a cube. All rendering is done on the GPU, avoiding expensive copies to RAM.

A demonstation of Vortex’s Stencil Shadow Volumes implementation: A Knight being lit by a green light, casting a shadow on a tiled floor.

Angel with Generated Normals

Automatic Normal Generation: an Angel Model is lit using normal data generated automatically by the Vortex Engine.

Dual Pipeline support: a Comparison of the Rendering Pipelines available in Vortex Engine. The image on the left represents the Fixed Pipeline. The image on the right represents the Programmable Pipeline.