Yes! I am alive!

Long time no see, right? Yes, I am still alive (not that you care but… :P)! The truth is that the past few months I have been extremely busy. Lot’s of things changed in my life. I quit my job, I traveled to the US for holidays, I decided to become an astronomer, I moved to another country (Australia), I started a PhD in astronomy, I had the chance to work with world-class scientists for very important multimillion projects and other many many exciting stuff! Hopefully I will find some free time at some point in the coming weeks to give you the details!


Hello again!

It has been a while since my last blog post. The last 9 months have been very busy and I did’t have the time to post anything. Anyways.. Last Christmas I decided to visit Greece for about 10 days. Luckily my flight had a 12-hour connection in Amsterdam! πŸ˜€ Woohoo! After landing I hopped on the train going to the city center immediately. A few minutes later I arrived at Amsterdam Centraal. What can I say about Amsterdam? It was definitely a nice city. Walking in the city center was very pleasant. A lot of canals and alleys all over the place. The old traditional houses were also amazing. All of them clean and in perfect shape. In the past I’ve heard some people saying that Amsterdam is not a clean city but I won’t agree. It was clean enough for a big city with a population of approximately 1 million. I was also amazed with the people. All of them well dressed and good looking. I didn’t see a single drunk or homeless person wandering around. Something else that I have to mention is that Amsterdam city center had a gazillion small cafes, shops restaurants. All of them clean and welcoming. Unfortunately the weather didn’t help a lot that day. Three hours after my arrival to the city center the weather went rain-crazy. I found a nice restaurant to have lunch/dinner and then I went back to the airport to wait for my flight.

And that was my very short Amsterdam adventure. If you want to visit a nice place with nice people and a chilled atmosphere you should definitely consider Amsterdam.


Linux adventures (Part 1)

Since the day I got my first PC I was a Microsoft Windows user. Although I tried Linux several times (starting with SuSE 5.3), I never managed to make it my primary operating system. My first attempts failed because it was much different than Windows and my later attempts failed because I find Microsoft Visual Studio way too good! Before some weeks, a friend of mine, John, convinced me that I can live without MS Visual Studio and I thought I should give Linux a go again. Because I am not a good swimmer and I am afraid of deep waters, I installed Ubuntu 11.10 x64. When I booted Ubuntu for first time I was like: β€œWow! Everything looks and works great!”. This lasted for… hm… 5 minutes! πŸ˜€ The moment I tried to do something slightly out of the ordinary, everything went nuclear! A lot of little problems started to pop out. Most of them related to Unity. While I was trying to fix them I realized that the system was full of software and crap that no one on planet earth would ever use. I tried to ignore this and focus on the Unity issues. But after some minutes of extreme failing I decided to switch to the beloved Gnome. Then I realized that the new Ubuntu comes with Gnome 3 and a β€œfake” version of Gnome 2. And guess what? Both of them either SUCK or have problems. I bet that if I had some experience with Linux I could have solved those problems. For some reason I thought that Ubuntu was supposed to work out of the box for the most common stuff. But no! The Unity developers thought that having multiple screens on your computer is something rare and they should not spend much time on multiple screen support development. And after all the above I realized that if I want to make it work I have to do it the hard way. With my friend’s, John, guiding, I installed Debian 6 using the β€œnetinst” installation. The installation was very fast because it installed only the basic system. I spent some time to find out how to connect to my wireless network. Then I installed Xfce and again I spent some time to find out how to install the NVidia drivers. And that was it! Everything worked fine, I installed all the software I needed and everything is fast and stable! Now the only thing left is to setup the machine for development and see if I can indeed live without MS Visual Studio! I will let you know when this happen!

Deferred Rendering with OpenSceneGraph

Hello folks! πŸ˜€

The last 3 years I was always like “I am going to make a deferred renderer soon”, but for some reason I was always postponing it! πŸ˜€ It was time to cut the BS and implement it! Because my own 3D engine is still at a very early development stage, I used OpenSceneGraph (OSG) to implement deferred shading. Why OSG? We use it a lot at work and so I am familiar with it. I did a very simple implementation with only diffuse lighting and one light. No optimizations no anything. I spent about 5 hours for reading and implementing it. I am not going to spend more time on it because it is based on OSG and not on my 3D engine.
I liked the fact that deferred shading is so easy to implement and there are no any tough maths behind it. When I will implement deferred shading in my 3D engine I might write a short tutorial for this awesome technique!



At my flight back from Australia, I had a 24 hour transit in Dubai. I won’t say much about Dubai. Dubai is all about luxury and shopping. Everything was clean, big, and new. The airport, the buildings, the metro rail, everything! I can say that I was amazed with the shopping mall next to the tallest building in the world: Burj Khalifa. It had EVERYTHING! All kinds of shops, all the brands you can imagine, and it was cheap! πŸ˜€ But other than that, I didn’t like anything else because there was nothing else to see! Dubai is like a huge construction site. Tens of buildings, roads, artificial parks etc are under construction. Oh… I almost forget.. there is something I have to mention: All the middle east women, the ones who wear this Burqa thing (or whatever is called) had the body of a model. I didn’t see not even ONE fat middle east women in Dubai! πŸ˜› That was really awkward. πŸ˜›

So, this is it people! You like holidays with luxury and shopping? Then you should definitely give Dubai a chance!



For a very long time I had this desire to visit Australia. It was looking like the best place on earth! So, the day came and I flew to Australia. And guess what??? Australia is the best place on earth! πŸ˜€ I visited four big cities: Melbourne, Sydney, Brisbane and Gold Coast. Each one of them had something different and nice to show me. πŸ˜€

I loved Melbourne! I can say it is my favorite city in the world so far! Seriously, I couldn’t find something bad in this city! Everything was just perfect! Nice weather, warm and welcome people, excellent transportation system, nice places and parks to walk and relax.
I loved to walk the small street lanes in the town center or the pavements along the river. During my stay there I also made 3 new friends! One Australian, one French and one Greek! Unfortunately I stayed in Melbourne only for 4 nights which are definitely not enough. But well, I had to so to Syndey! πŸ˜€

Oh my God! It was a-m-a-z-i-n-g! Sydney is a big city, more busy and noisy than Melbourne. The Opera House and the Sydney bridge were fabulous. They looked fake to me, because till that day I had only seen them in pictures or on TV! Sydney didn’t have the “relaxed” atmosphere like Melbourne (actually it had it but not in a very big scale like Melbourne), but it had…. nice beaches! πŸ˜€ The weather was hot those days and it would be a sin not to visit Manly beach. The beach and the ocean were amazing! I really enjoyed swimming there! Like in Melbourne, in Sydney I did two new friends, one American and one Japanese. Before I realize that I was in Sydney 4 days passed and I had to leave for Gold Coast!

Gold Coast
Gold Coast is the paradise for all the surfers. I was amazed by the extremely looooooooooong beach with the huge waves. You could see surfers all over the place surfing all day long. No matter the weather there were keep surfing! Unfortunately, all three days I stayed in Queensland the weather was not good. It was raining everyday. Of course, the rain didn’t stop me from having good time! There is a zoo in Gold Coast, called Wildlife Sanctuary. There you can find lots of different Australian animals. And guess what? I fed kangaroos!! Woohoooo!!! It was really fun! πŸ˜€ Unfortunately, they didn’t allow me to get one back home. πŸ˜› Like in all the previous cities, I made a new friend (Canadian). It is funny because all the friends I did in Australia were from different places from all over the world! :D. Gold Coast was nice but it would be wrong not to visit the capital of Queensland which is only a couple of hours away: Brisbane.

Brisbane is the capital of Queensland and the 3rd biggest city in Australia. It was not very busy like Melbourne or Sydney but I liked it. It didn’t have Sydney’s beaches or Melbourne’s parks and relaxed atmosphere, but it was a medium size warm and clean city. I had some walks around for abut 6 hours. Then i had to go back to Gold Coast. And that was my adventures in Queensland.

My holidays were over. I had to go back to Glasgow now. Usually, when I go somewhere for holidays, the last days I am like “OK, I think this is enough, I have to go back home now.” For first time in my life I didn’t want to go back. I wanted to stay there. While I was in Melbourne airport waiting for my flight, I was creating stories in my mind, with me staying in Australia and never going back home. πŸ˜› But, well… I had to go back if I wanted to keep my job! πŸ˜›

So… that’s it guys! My Australian adventure story ends here. Australia is the nicest place I have ever been so far. It had everything and at the same time it had nothing bad. I definitely suggest you to visit Australia if you have the chance.


Planet Rendering

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!

  • 2D physics support using Box2D library
  • Graphics using OpenGL(PC) and GX(GameCube)
  • Audio using FMOD library
  • Level and character editor


Foo Racer

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