Stellarium planet rendering improvements.

Here are some screenshots of the new planet rendering in the Stellarium software, implemented as part of the European Space Agency Summer of Code in Space. I implemented a bump mapping algorithm (using normal maps) in GLSL shaders and I integrated it into the Stellarium application (C++). The planets are ellipsoids. There are still many different things to be done for further improving the project, these are just some samples.

(Many thanks to my mentor Fabien Chéreau and the Stellarium development team for giving me the opportunity to participate in the ESA SOCIS, as well as to the organizers of the summer of code!!)*

Screenshots of the moon at night:

Moon using the past planet rendering algorithm
Moon without bump mapping.
Moon using the new planet rendering algorithm.
Moon with bump mapping.

Screenshots of the moon when there’s still daylight:

Moon without bump mapping.
Moon with bump mapping.
Moon using new rendering algorithm.
Moon with bump mapping.

Continue reading Stellarium planet rendering improvements.

Augmented reality snakeball game

A very simplistic snakeball game (not yet complete) I made for fun using C++, OpenGL and OpenCV 🙂

In the video I use a flashlight to move the cursor and collect the balls that appear at random positions. I track the flashlight by locating the largest and brightest blob on each frame and calculating the center of its bounding rectangle.

Hierarchical animation using trigonometric functions.

This is my first OpenGL project: Bob. (a lego-like robot). It’s made by transformed cubes and it is animated using hierarchical body animation with trigonometric functions.


and screenshots from early stages:

Early stage robot
robot parts

Bob-robots running on a wooden floor
LEGOs on the floor


Virtual Anatomy Class

Group project for a Virtual Environments MSc course: an anatomy class

The users (supposed to be students) can move around in the class and inspect a virtual skeleton. During the virtual course they can scatter, grab and move the skeleton bones around and try to combine them correctly. The program is written in XVR scripting language. For the scene and the objects 3d studio was used and the skeleton model was taken from

Here are some shots of the application running on pc:

The skeleton is complete.
Welcome to the class!

Continue reading Virtual Anatomy Class

Ray tracer using axis aligned bounding boxes!

The first ray tracer I wrote (in C++, using SDL to display the pixels). Screenshots:

ray tracer with shadows
Step 1:  Shadows
Shadows and reflections.
Step 2: Shadows and reflections.
Step 3: Shadows. reflections and a sphereflake.

Code:  svn://

Μετατρέποντας τα ελληνικά filenames σε greeklish

Το scriptaki αυτό μετονομάζει τα αρχεία ενός directory μετατρέποντας τα ελληνικά σε greeklish, τα κενά σε underscores και τα κεφαλαία σε μικρά χωρίς να πειράζει τους υπόλοιπους χαρακτήρες. Μπορεί να χρησιμοποιηθεί σε ISO-8859-7 και UTF-8 filenames μόνο.


Directory με αρχεία που θέλουμε να μετονομάσουμε:

$ ls example_dir/
Ελληνικότατο FileνάMe.Txτ Λόλα Γλαδιόλα - Τεράστιο Souxe.Mp3
$ ./cleanup_filenames example_dir/
$ ls example_dir/
ellinikotato_filename.txt lola_gladiola-terastio_souxe.mp3

Παρακάτω είναι ο κώδικας.

Continue reading Μετατρέποντας τα ελληνικά filenames σε greeklish

Συνδεση με VPN στο Α.Π.Θ. απο Linux

Επειδή δεν υπάρχουν οδηγίες για χρήστες Linux που θέλουν να συνδεθούν στο Αριστοτέλειο με VPN παραθέτω ένα mini-tutorial με αυτά που έκανα για να συνδεθώ.

Continue reading Συνδεση με VPN στο Α.Π.Θ. απο Linux