Home
Games
    Terra
     Snow-Down
     Abductanprobe
Research
    Engine Dev.
     Marching Cubes
Links

Engine Development

This project was initially started to build a basic game engine that would provide a simple base to start new research projects off of. Over time it has sort of expanded beyond what I originally intended. The reason for this was that the first research project that I was to make with it was one for rendering. As I was building the rendering side of the engine I realized that I should write an OBJ file loader in order to quickly make new objects to test. Once I had the OBJ loader I realized that I had better have texture and 3D model managers to handle several objects using similar resources. As you can see, a chain reaction kind of occurred which has brought this project to where it is now.

Basic stuff but I thought it looked cool

The rendering side of the engine is built with a Direct3D side and an OpenGL side which both inherit from an abstract Renderer class. By designing it this way I can be sure that the renderer functions the same way using either Direct3D or OpenGL.

I've managed to keep the programming interface for the engine quite simple. All technical elements of the engine are encapsulated inside of an Engine class which can be started by simply calling its Init function. Full access is allowed to all of the elements of the engine but some helper functions are provided in order to quickly get objects into the game.

Both cubes are geometrically identical and use the same texture. The one on the right is using
 parallax mapping in order to give the illusion of extra geometry

My latest addition to this project was a post processing architecture. This architecture allows post processing effects to be added and removed at run-time by simply pushing and popping them from a linked list. The engine does the rest for you automatically.

Future Plans:
2D rendering support
High Dynamic Range lighting
Scripted object creation

Downloads:
GameEngineSource(2-27-08).zip

Notes:
This project is by no means complete so some sections of the code may look ugly or possibly empty. The OpenGL side of the renderer has yet to be fully developed, it only has code for testing. The Draw portion of the Direct3D renderer is hacked at the moment to test parallax mapping.

Parallax Mapping



Adding and Removing Post Processing Effects
Effects added: 4x Downsample, Horizontal Gaussian Blur,
Vertical Gaussian Blur, and 4x Upsample