RenderMonkey Shaders

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:

  • Phong Lighting
  • Bump/Parallax Mapping
  • Water Rendering
  • Underwater effects (vertex distortion and caustics)
  • Cubemap Refractions and Reflections
  • Fur mapping
  • GPU Partice System
  • Flag Animation


D3D Assembly shaders

I present you my first and last attempt to write some D3D assembly shaders. I can admit that it was fun! But OK… let’s don’t overdo it! HLSL works better for me! 😛 The shaders included are:

  • Diffuse lighting
  • Diffuse lighting with multiple lights
  • Vertex morphing
  • Two tone painting
  • Phong lighting (ambient+diffuse+specular)
  • Cartoon rendering
  • Sphere mapping



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:

  • Shader-based 3D Engine (GLSL)
  • Per-pixel lighting
  • Sphere mapping reflections
  • Sky-dome with dynamic day-night cycle
  • OBJ file loading
  • Water and fire particle systems
  • Simple terrain rendering
  • GUI Rendering



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.

  • Per Pixel Phong Lighting
  • Bump Mapping
  • Cube Environment Mapping
  • Simple QuadTree Terrain Rendering
  • Z-fail Shadow Volumes
  • Projective Shadows

My BSc thesis document can be found here but it is Hellenic language: 3D Engines and Computer Graphics.

EDIT: Engine was crashing on some machines. I did a quick fix and I also included a required D3DX dll file.

BEK Engine

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:

  • BSP Rendering
  • Per-Pixel lighting parallax mapping
  • Z-fail shadow volumes
  • Dynamic cube mapping
  • 3DS, MD3 and MD5 model loader
  • Lens flare effects
  • GUI system


My First Game: GLBall

Ladies and gentlemen, I present you my first video game! 😀 As you can see, my lack of imagination led to this magnificent name: GLBall. I made this game during my last year in high school while I was still learning C and OpenGL. The technologies used for this game are C, OpenGL, Direct Input and Direct Sound.


OMG! I have a blog now!

Hello everyone!

My name is George but my friends are calling me Bekos. As you can easily guess from the title of this blog I am a Travelholic Coder. I really like computer programming and especially computer graphics and visualization. My favorite programming languages are C and C++ and I use both OpenGL and Direct3D.

Besides programming, my other passion is travelling! So far I haven’t been in many different countries (only 5) but hopefully one day I will be able to say that I have been all over the world! :)

So… after very careful consideration, brainstorming, fighting hordes of evil monsters, nose peeking and orange juice drinking I came to the following conclusion:

I need a blog!

In this blog I will share with you my coding and travelling experiences but I will also include other science and travelling related stuff.

C ya!