A custom Arduino-based throttle joystick for flight simulations.
A small C++ software rasterizer that supports shaders. This is an extension of my earlier project, cleaned up a bit and hosted on github.
A re-implementation of my simple ray tracer, this time purely in a fragment shader for WebGL.
Some of the most important classes in OpenGL2 packed into easy-to-reuse classs. Namely framebuffer (and depthbuffer) objects, Shaders and vertex buffer objects. Recently I have updated the classes to support OpenGL3.
A quick look on the math of arbitrary mirror planes in OpenGL.
Very inefficient-but-fun-to-implement software rasteriser :)
A look into GPU-based raycasting methods to render volumes.
An OpenGL2 method to render dynamic cubemaps; for example, for dynamic reflections or refractions.
Spectral Rendering on the GPU using FBOS and MRTs.
A wooden replica of an ACES II ejection seat.
A small 2D simulator of rocket movement written in Mono/C#. The goal was to have an easy to use 2D Orbiter replacement with full orbital mechanics (well, on a plane anyway). KSP now fills that role.
A semi-voxel renderer (like the old Novalogic titles) by ray casting on the GPU combined with traditional rasterisation graphics.
Building my own MAME cabinet
This was just a quick over-the weekend test of some raytracing techniques. It developed further into a multi-tiled, multi-threaded SIMD raytracer to test the multicore systems at uni. Currently, it supports diffuse phong shading, and almost everything is pretty much hardcoded, although this might change in the future.
A straight-forward, non-optimized tech demo of deferred shading by rendering everything into float FBOs. The first pass renders into the G-buffer render target, the second pass reads back these values and calculates final shading.
I was fed up with the overkill of cppUnit, so as a small exercise for the software engineering exam (back then) I wrote this lightweight C++ unit test suite. Everything is packed into a single, quite small header, so it won’t clutter your project with unnecessary files and libraries. Provided is an example and doxygen documentation.
This viewfrustum culling demo was built upon the OpenGL Pseudo-Instancing white paper from NVIDA. 25 Terrain tiles with 2500 trees each, as well as 60 clouds with 250 particles each were rendered, for a full 26500 quads.