Vision 3 is an open source cross-platform 3D game engine for Windows and Linux, which supports Direct3D 9 and OpenGL.
- Per-vertex, Per-pixel.
- Bump mapping.
- Projected planar shadows, Stencil shadow volumes.
- Support for a various image formats (BMP, PCX, TGA, JPEG, PNG, etc) (using FreeImage); also internal support for WAL (Quake 2 BSP Texture format).
- Hierarchical scenegraph.
- 2D spatial grids, Quadtrees.
- Morph target (per-vertex) animation, Skeletal animation (forward kinematics).
- Support for 3DS (3DStudio), RenderWare, MD2 (Quake 2) and NeverWinter Nights MDL format.
- Heightmap renderer.
- Precalculated or realtime lighting.
- Ambient occlusion lighting.
- Quadtree used for clipping.
- Multiple textures, with texture splatting.
- Level of Detail.
- Billboarding, Particle system, Skyboxes, Atmosphere, Clouds, Fog, Explosion effect.
- Reflections (both using stencil buffer, and render to texture).
- Water (combined reflection and transparency with fresnel effect, bump mapping for waves).
- Basic physics: entities can be assigned a velocity and/or acceleration.
- Simple collision detection.
- Simulation of bouncing and friction.
- High Dynamic Range (HDR) Rendering.
- Object oriented API.
- Choice of Direct3D 9 and OpenGL renderers.
- Preferences GUI to select between API, resolution, modes, various render options.
- Simple resource management; all the engine data that you create can be automatically deleted with a single function call
- Simple keyboard and mouse input.
- 2D GUI functionality.
- Font support.
- Sound support.
- Save screenshots in various 24 bit formats (BMP, PNG, JPEG, PNM).
Vision 3 is used by my own projects Daleks 3D and Conquests. The latest source code for Vision 3 can be obtained by downloading one of those games (whichever release is most recent). I am not interesting in supporting Vision 3 as a standalone library (or guaranteeing API compatibility between releases), but anyone is free to make use of the code under the GPL.
Below are some screenshots - click on them to get full size.
Screenshot from a game I am working on. This shows the terrain engine along with along with water effects and cloud rendering.
Sun reflecting off waves.
Stencil shadow volumes.
The two characters and the torch are animated. Most of the objects in this room are loaded from objects in MD2 (Quake 2) format.
And again. The spider is a NeverWinter Nights model. The potion/bottle is a 2D billboard image.
From Daleks 3D. This demonstrates shadows, reflections, particle systems and explosion effects.
This is an object loaded in from a RenderWare script. JPEG Textures are also specified in the script, and are kept in the same directory.
The data for this world was loaded from a Quake 2 BSP file.
An animated object in MD2 (Quake 2) format. The viewpoint shown in the picture is such that it's always fixed above the character's head; a keypress switches between this viewpoint, and a viewpoint fixed with respect to world space.
Object imported from a 3DS file, and displayed with a 'skybox' for the background.
More Free software.