Anastasios Gkaravelis
github link
twitter link
linkedin link

Project List

Selected Research Projects

presious project
LOTUS (2022 - 2024)
Light OptimizaTion for Urban Spaces project on Opening Design and Urban Lighting Design. The research project was supported by the Hellenic Foundation for Research and Innovation (H.F.R.I.) under the “3rd Call for H.F.R.I. Research Projects to support Post-Doctoral Researchers” (Project Number: 7310)
Position: Principal Investigator / PostDoc Researcher / Senior Developer
Technologies: Unreal Engine, PyTorch

vrsculpting project
Virtual Sculpting (2021 - 2022)
Development of a VR application for untethered devices for interactive sculpting using realistic tools. The project involves the development of specialized techniques for simulation and rendering of the sculpting process in low-end devices, at high frame rates.
Contractor: Foundation of the Hellenic World.
Position: PostDoc Researcher / Lead Developer
Technologies: Unity, C#, Occulus VR, NodeJS, JavaScript
Links:

bimvr project
Building Information Model VR plugin for the CostOS software (2021 - 2022)
Development of a VR application for untethered devices for interactive sculpting using realistic tools. The project involves the development of specialized techniques for simulation and rendering of the sculpting process in low-end devices, at high frame rates.
Contractor: Nomitech Ltd.
Position: PostDoc Researcher / Senior Developer
Technologies: C++, OpenXR, WebXR, WebAssembly
Links:

presious project
EPIC MegaGrants - Rayground (2021)
The Epic MegaGrants program encourages projects that will benefit the Unreal Engine ecosystem or the 3D graphics community. Rayground is an online framework for rapid prototyping of algorithms based on the ray tracing paradigm. Rayground is platfrom-independent, based on open-source technologies and available to everyone through the www.rayground.com portal. We identify two distinct components in Rayground. The first component is the website, which acts as an online library of ray tracing projects and offers an integrated development environment (IDE) for interactive demonstration and/or prototyping. It has the potential to function as a hub for the graphics community as ray tracing ideas and methods become more widespread. The second component is WebRays, the ray tracing engine that accelerates ray-geometry intersections using the WebGL2 graphics application programming interface (API). The core technology behind the engine is decoupled from Rayground's programming model and utilizes an open-source general-purpose ray-geometry intersection engine on the Web via a JavaScript API, backed by acceleration data structures.
Position: Senior Researcher / Senior Developer
Technologies: WebAssembly, React, Next.js
Links: Website, GitHub

presious project
PRESIOUS (2013 - 2016)
Predictive digitization, restoration and degradation assessment of cultural heritage objects 3-year EU- funded STREP project (grant no. 600533), 2013-2016.
Position: Researcher / Developer
Technologies: C++, OpenGL, CUDA
Links: Website

glide project
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.
Position: Researcher / Developer
Technologies: C++, CUDA, OpenGL, Qt
Links: Website

Selected Personal Projects

rayground project
Rayground (2020 - 2021)
Rayground is a framework for rapid prototyping of algorithms based on the ray tracing paradigm. Its main goal is to help develop, test and share self contained modules that showcase a particular method or technique.
Position: Senior Developer
Technologies: WebGL, WebAssembly, Spring Boot, Javascript
Links: Website, GitHub

project2
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.
Position:
Technologies: C++, OpenGL, CUDA, Optix
Links:

project2
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.
Position:
Technologies: C++, OpenGL, CUDA, Qt
Links:

project2
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.
Position:
Technologies: C++, OpenGL
Links:

Selected Academic Projects

iot project
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.
Position:
Technologies: C++, RIOT OS
Links:

aladeen project
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.
Position:
Technologies: C++, OpenCV, pHash, Qt, Java
Links:

project2
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.
Position:
Technologies: Java, Swing
Links:

project2
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.
Position:
Technologies: Android SDK, Java
Links:

project2
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.
Position:
Technologies: C++, OpenGL, SDL
Links: