Project List

Selected Research Projects

PRESIOUS (2013 - 2016)
Predictive digitization, restoration and degradation assessment of cultural heritage objects 3-year EU- funded STREP project (grant no. 600533), 2013-2016.

GLIDE (2014 - 2015)
Goal-driven Lighting for Dynamic 3D Environments (ARISTEIA || programme) 18-month research project co-funded by the General Secreteriat of Research and Technology and the European Union, 2014-2015.

Selected Personal Projects

GPU Pathtracer Engine (2015 - Present)
A GPU path tracer using next event estimation and importance sampling. Written in C++ and CUDA and utilizes the Optix framework to accelerate ray-tracing intersections.

XEngine (2013 - 2017)
I collaborated in the development of the in-house graphics engine of the computer graphics lab in AUEB University. Additionally, for the requirements of the GLIDE project, i extended the original engine to allow the specification of user-provided lighting contraints by painting directly on the geometry and calculate the lighting configuration that produces a matching illumination result.

3D Graphics Engine (2012 - Present)
A rendering engine written in C++ and OpenGL. It uses deferred shading techniques to render objects and shadow maps for shadowing. It also supports Dynamic Lights, BillBoards, Particle System, 2D Gui, Enviroment Mapping, Normal Mapping, Post-Processing Effects, View-Frustum Culling and an Obj / Mtl loader.

Selected Academic Projects

IoT Project (2015)
A software platform that controls a cluster of programmable sensors. It elects periodicaly one sensor to be the data aggregator, in order to minimize the cluster's energy consumption. The sensors listen to commands through Sockets and were programmed in C++ using RIOT OS.

Aladeen Project (2015)
An application platform, similar to Shazam, that given a small video segment it finds its origin from a video database. The application loads and hashes the video segment and sends the hash to a Server to compare it against a video database. It was developed in C++ using Qt, OpenCV, pHash and Sockets to connect the Client and the Server.

BitTorrent Client (2014)
A full featured BitTorrent client and tracker, that has the ability to connect to many other clients and transfer various files simultaneously, using Java threads, Sockets and Java Swing.

Traffic Monitor for Android (2011)
An Android application that can estimate the travel time of a route, using various travel methods, at a specific time of day. The estimation is based on previously stored routes from users. Each user application is connected to a custom Server, written in Java, and the travel time estimation is calculated using a MapReduce technique to process data from other mobile phones about traffic status and distribute work across connected mobile devices.

AirShip Fighters (2011)
A 3D game using C++ and OpenGL. The player controls an airship and should get to the treasure chest in order to win. There are randomly spawned enemies that are trying to take him down. The player can shoot down the enemies using a mounted cannon on the airship or using rockets found in power up boxes. Other powerups can also assist the player such as slow-time. The game also features a weather and particle system.