Demos

A collection of demos and software that I have created over the years.

Quake 3 BSP loader demo

This demo loads and renders Quake 3 BSP files. It uses multithreading to load the textures. When you select a map to load the data gets loaded and you can begin to navigate in the map while the textures are loading in a low priority thread. The result is faster loading time and this concept could be expanded without much effort to almost completely eliminate a loading screen in applications.

Download



Mandelbrot demo

This is a simple multithreaded Mandelbrot rendering demo.

Download



Voxel Rendering

This is a WIP demo of my voxel rendering engine. No hardware acceleration is used in this version and the model does not consist of polygons.

Download



JKulki

JKulki is a small Java game where the goal is to get five or more balls of the same color to form a line. In order to run the game you will need to have Java installed. You can also download the games source code here.

Download



3D Engine Demo

After nine months of working on and of, writing over 36 000 lines of code I finally have a small demo done using my 3D engine. I am sorry that my modeling skills do not go beyond creating cubes and spheres but nevertheless here is a demo. My goal was to create a somewhat of a Doom 3 engine clone that I could put in my programming-portfolio. It features complex physics, shadows, bump-mapping, lightmaps, environmental audio, Quake 3 BSP file support, Doom 3 level support, Doom 3 MD5Mesh support and many more pointless stuff like that.

Download



Fur Rendering

I made this demo for the book "More OpenGL Game Programming". Included are two demos that use the fur rendering technique I described in the book. The first demo uses the technique to simulate fur on a bear model and the other demo uses the technique to simulate hair on a human head model.

Download



Projected Omnidirectional Texture Shadow

This demo demonstrates projected texture shadows, a technique that is used in Half Life 2. (the demo was tested and should work on a computer that has an GeForce 4 Ti or better/equal graphics card and has the latest Cg DLL files installed).

Download



Open Dynamics Engine (ODE) Demo

This demo uses ODE as the physics engine. It includes some cubes and spheres that fall to the ground and collide with the environment.

Download



Engine Test

In this demo you will see a ball bouncing around. You can press R to reset the scene, E to enable/disable wireframe rendering and Esc to quit. I created this small demo using my own engine. Part of the engine source code and the programs source code are included with the demo.

Download



Lights Demo

This demo does not show of any fancy rendering technique, however it's purpose is to show how we can combine Visual Basic and C++ by creating a DLL file in C++ and using the exported functions in Visual Basic. (the demo was tested and should work on a computer that has an GeForce FX or better/equal graphics card and has the latest Cg DLL files installed, if you should have any problems with the shaders then remove/rename the shader folder and the demo should work).

Download



Dynamic 2D Shadows Demo

This little demo shows how 2D shadows can be created only using a shader and one heightmap. I haven't researched heavily on this subject, it has just been one of those things that you code at 3 AM. This demo does not include it but one could easily expand it so that a shadows length of cast is proportional to the value in the height map. Another possible improvement would be to run it on a shader model that supports loops.(You will need a GeForce FX or better/equal graphics card and the latest Cg DLL files installed to run this demo).

Download



Vertex Displacement Demo

This demo was created to demonstrate that we can effectively move the vertex texture look up from the GPU to the CPU by simply making a function that does the look up and sends it as a variable to the GPU. It is very useful when you need to perform vertex texture look up but do not have the hardware that supports shader model 3.0. (You need a graphics card that supports shader model 3.0 or better and the latest Cg DLL files installed to run this demo).

Download



Omnidirectional Shadow Maps

Normally shadow maps are flat 2D textures that are projected only in one direction in a scene. This demo uses cubemaps in order to generate an omnidirectional shadow map, this way shadows can be projected in all directions. (You will need a GeForce FX or better/equal graphics card and the latest Cg DLL files installed to run this demo).

Download



Spheres

This is a cell phone game aimed for phones that support Java. The game has been specifically made for LG's G7100 cell phone but should work for any cell phone that has a color display with a minimum resolution of 128x138. You can download the source code for this game here.

Download



Normalmap Viewer

This progam enables you to load ASE models and view them with normal and specular maps. You will need a GeForce 4 or better/equal graphics card to run this program.

Download



Height To Normalmap Converter

This little program converts an image from a heightmap to a normalmap.

Download