Project Vision is my third 3D engine developed over a period of eighteen months. Comprised of over 70,000 lines, the engine is built upon a strong foundation of file systems, virtual processors, memory managers, profilers, a custom hardware abstraction layer, math and physics libraries, graphics and audio subsystems, input accelerators, network managers, and much more.
Unlike my previous engines, Vision was designed from the beginning to be a cutting edge 3D game engine, rather than simply a 3D engine. Utilizing the Cg shading language, a custom Cg Precompiler, and a rendering architecture designed for programmable pipelines, Vision provides the latest in lighting and shading technology in addition to the following key features:
Shader Model 2.0
Specular Mapping
Bump/Parallax Mapping
Floating Point Shadow Maps
Particle Systems with Physics
Environment Mapping
Fully Scriptable Game Layer
Dynamic Terrain System
Stencilled Shadow Volumes
Volumetric Effects
Procedural Textures and Geometry
Motion Blur Effects
Liquid and Cloth Simulation
Integrated Scene and Modelgraph
Seamless transitions
Real-time tessellation
Many of the core components of an engine are non-graphical in nature. With Vision, a design goal was to focus on all parts of the engine, not simply the graphics. As a result, Vision contains many non-graphical features and modules. Here is a very partial and high-level list:
Custom Script Engine
Intelligent Resource Management
Client/Server Design
Oct/Quad/Bsp-trees and PVS
Integrated Console System
Virtual CPU
Message (Packet) Based Core
Multi-Processor Optimizations
Effect and Environment Systems
Animation Manager
Entity Management
Debug Error Handler
Comprehensive Format Support
Resource Format Factory
Custom Structure Base
Texture and Shader Managers
Packet Based Renderer
Skinnable and Scriptable UI
Intelligent Memory Management
Scriptable Camera System
OpenGL 2.0 Support
Custom Archive Format
Vision 1.0a Demo for Windows (9.8 MB)
Vision 1.0a Video High Quality (1024x768) (110 MB)