3dengfx - realtime visualization system


This is a non-exhaustive feature-list of 3dengfx, just to give you an idea of what this library can do.

Where there is a [code] link, it means that you can see a snall code fragment demonstrating how to use that feature.

Rendering and Special Effects

  • Automatic reflections through auto-generated, or pre-stored cubemaps.
  • Dynamic shadow generation using the shadow volume algorithm. [code]
  • Advanced particle systems, with custom text-based particle system definition file format.
  • Support for OpenGL 2.0 Shading Language shaders (GLSL).

Geometry and Scene Management

  • Volumetric data polygonization using the marching cubes algorithm.
  • Loading of full 3d environments with lights, cameras, materials, and animation, from 3ds files [code].
  • Loading of geometry from ply files.
  • Mesh generation for standard primitives, fractal landscapes, and Utah teapots :)
  • Frustum culling is performed automatically on all scenes.


  • Each object, camera, or light, can be given a time-based keyframe track, function-based controller, or spline path to follow.
  • Hierarchical animation, works with all of the available animation methods.

Textures and Images

  • Texture loading through a build-in image loading/saving library for jpeg, png, tga, and ppm files.
  • Image processing library.
  • Constant rate frame output to disk, for capturing a 3D animation to video.
  • Antialiased text rendering with FreeType 2.


  • Can be compiled to use either the native windowing system (X11/Win32), SDL, GLUT, or GTK+ (experimental)
  • Full mathematics library with vectors, matrices, quaternions, numerical integration, and cubic spline interpolation facilities.
  • Real-time sequence scripting system, with post-processing capabilities, perfect for real-time demos.