Flight Simulator

Check out the features of this flight simulator. Was developed in C++ using OpenGL. 6350 lines of code to make this. Please contact me if you would like more information or some source code extracts.

This engine features sevral features that will be demonstrated in turn with relevant videos:

Colission detection

When you watch this video, you should be able to see a stream of bullets being fired from the base of the screen. Every bullet is tested for collisions using an extremely efficient method. This collision detection system uses the Z buffer to get the current target. This is then unprojected into the 3D world, and assigned to the bullet. Since this is a simple texture lookup, it runs much faster than a volumetric collision system. If however, this engine was to include dynamic collision objects, a different system would need to be implemented.

You should be able to see small particles of dust appear where each bullet collides with the terrain.

Infinite Terrain

A continuous, uninterrupted terrain with no seams or camera tricks. For efficiency reasons, only the relevant geometry that is visible to the camera is presented to the graphics rendering engine.

Procedural Clouds

The cloud position, altitude colour and opacity are all attributes to an algorithm similar to that of Perlin Noise. This means that they appear random, but remain deterministic. So as long as its the same time of day in the same position, the cloud will always have the same properties.

Particle Systems


This shows a particle system including a fireball, smoke, and dust