Predictive digitization, restoration and degradation assessment of
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
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
should get to the treasure chest in order to win. There are randomly spawned enemies that are trying
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.