My favorite topic in computer graphics is universe/space/planet visualization. When the time to pick a topic for my Master’s dissertation came I already knew what I was going to do! 😛 Although the dissertation was about my favorite topic, because of some unfortunate events, I didn’t spend a lot of time on it. As a result my implementation was only about vertex data with no texturing at all. The technique I used was a Chunked LOD implementation for spherical grids. The application consists of two executables: Chucky and Worldy. Chunky is used for preprocessing the original data and creating a custom file format. Worldy is the actual visualization application. The download includes a preprocessed earth dataset from NASA Blue Marble Next Generation.
You can also have a look at my dissertation here:Real-Time Planet Rendering Thesis
The only video game I had made before joining my Master’s was the one I did when I was still in High School. And this, because I am not really into all this game logic programming stuff. I mostly enjoy graphics and scientific programming. On the second semester of my Master’s I had the opportunity to work on a video game once again. We were a team of 6 people and our goal was to create a platform game with realistic physics and then port it to Nintendo’s GameCube. I was responsible for the following: Graphics Engine, Audio Engine, Graphics Engine for GameCube and the Character Editor. I can assure you it was really fun! Especially when we were porting the game to GameCube. 24hours in a row in the laboratory was an unforgettable experience!
Tired of all the 3D stuff? Then Foo Racer can be a nice break! Foo Racer is a game written in assembly for the QL200 PIC development board. It uses the board’s LED 2D array as a screen. The player has to control a car and avoid obstacles. Foo Racer was a group coursework in my Master’s.
I would like to thank my friend nuclear for the YouTube upload:
The thing I like the most in this academic coursework project is, believe it or not, the name! FeezeeX was a coursework for the module “Simulation and Concurrency” in the second semester of my Master’s. We had to make a distributed physics application that could take advantage of all the CPU cores. It was the first time in my life I was playing with physics programming! It was fun, but also… PAINFUL! 😛 The application will fully function with 2 instances running. Please have a look at the README file. For the rendering I used a lite version of my EOS engine with a couple additions (DDS textures, cubemaps, better GUI). The main features of FeezeeX are:
EOS Lite Engine based
Multi-threaded networking system using client server model
Sphere,Cylinder,Plane,Polygon collision detection and response
Sometimes you just need to test a shader without getting into any CPU-side code. There are several programs who allow you to do this. ATI’s RenderMoney is one of these programs. During the second semester in my Master’s I had to create a series of GLSL shaders implementing various techniques. The following are the effects and techniques I managed to implement:
Underwater effects (vertex distortion and caustics)
Accelhullrate is a video-game-wanna-be slot racer game coursework I did for the module “Real Time Graphics” in my Master’s during the first semester. For this project I created a 3D engine from scratch, called EOS. I can admit that I was lazy to do the game logic part for this project. I implemented almost all the graphics features but very few game logic related ones. While the game is using OpenGL 2.0 for rendering, I didn’t use any OpenGL 3.x deprecated functions. The only exception was the code for the GUI rendering where I used fixed function and immediate mode. The following are the main features of the game/engine:
EREBUS Engine is a 3D engine I made for my BSc thesis. The name come from a Hellenic mythological figure Erebus. The engine is using Direct 3D 10 and implements some of the fundamental graphics algorithms and techniques in computer graphics.
At the end of my first year in university I wanted to make a simple OpenGL 3DS file loader. After I was done I started adding various features… particle systems, per pixel lighting, MD3 model loading, shadow volumes, BSP rendering etc. It might started as a simple 3DS Loader but after some months it became a big (yeah right..) 3D Engine. I was still learning C++, computer graphics and OpenGL and I can admit that I am not proud of my code! 😛 Anyways… these are some of the main features of the engine: