Graphics
These are examples of my real-time graphics programming work. Most of these are personal projects implemented in C++ using OpenGL. If you would like to get interactive versions of these demos, or view some source code, then please get in touch.
Tech Demos
-
Dynamic Nebula Clouds
I developed a mathematically simple method of drawing very low-poly nebula clouds for space games (this example uses 18 quads). The technique avoids the uses of particle effects or billboarding, and prevents visual artefacts when viewing polygons edge-on. I made a YouTube video about the technique if you'd like to know more.
YouTube Video -
Procedural Landscape
The landscape shown in the screenshot was generated randomly using a combination of trigonometric functions. It adapts to any practical scale and level of detail. This example has ~32,000 polygons, showing a wireframe overlay, with a skybox in the background. -
Heightmapped Landscape
I used topographical data from the Grand Canyon to create this scene. It contains 500,000 polygons, rendered using OpenGL vertex arrays. This allows it to run at nearly 40 frames per second on a moderately high-end gaming PC, without any selective rendering optimisations. -
Per-Fragment Lighting
I implemented a per-fragment shader for this demo. Geometry outside the spotlight cone is rendered in low-brightness greyscale to mimic the brightness/colour sensitivity of human eyes. -
Particles Effects & Point Mass Physics
I created a simple point-mass physics system for this demo to represent a ballistic weapon (such as a cannon). I rendered the weapon effects using additive and subtractive particle effects. -
Portal View
This demo was inspired by Valve's "Portal" game. A second scene is visible through a spherical portal, which hovers in the primary scene. The camera can move around the portal object to offer different viewing angles of the scene on the other side.
