Software engineer passionate about graphics.
In this project WebGPU is used to control a large number of elements in a boids simulation through compute shaders and for rendering. This is my first project using WebGPU. Source code is available on GitHub and you can give it a try on your browser.
An implementation of the paper
Improved Efficiency of Spring Embedders: Taking Advantage of GPU programming using JavaScript and WebGL2. Using a relatively modern GPU, the algorithm can run almost
900 times faster that the equivalent CPU algorithm when visualizing large graphs. A custom WebGL renderer was also
developed to visualize the layout computed by the GPU algorithm without having to exchange data with the CPU (an operation that can be slow when dealing with large graphs).
Source code is available on GitHub and you can
give it a try on your browser.
Harentz is an endless arcade game where the player has to dodge 3D tetrominos to survive. Harentz is developed in C++ using SDL2, SDL gpu and a custom 3D engine based on BSP Trees. The source code is available on GitHub and you can give it a try on android.
ReGeBe is by far the biggest project I've worked on. In ReGeBe the player controls Wooty, an
unconventional hero in his quest to retrieve the colors stolen from the world. Despite being
a relatively standard platformer, ReGeBe adds some puzzle game components: crates change their
behavior when colors are shot to them making it possible to solve simple puzzles.
As the player retrieves the stolen colors, they also come back in the world which originally is in black and white.
ReGeBe is developed by a team of friends using Lua and Corona SDK. A short teaser
and a demo of the game are available.
sre is a simple game engine I'm developing to put into practice the computer graphics concepts I'm learning. sre is built on top of OpenGL and SDL2 and it is available on GitHub. It's goal is to be simple to use and extend. At the moment it supports:
tinyraytracer-openglcompute is a GPU port of tinyraytracer. While the original version is completely CPU based, this port leverages OpenGL compute shaders to execute ray tracing in parallel thus allowing real time rendering of relatively simple scenes. Source code is available on GitHub.
dCloth is a cloth simulation engine based on Verlet Integration written in C++ using SDL2. Source code is available on GitHub.
Roma Tre University
Ato a mesh
B. To do so, the deformation of
Ais apllied to
Bin the form of distortion (pre-strain). If
Bcannot be deformed as imposed by the distortion, an elastic force will be applied to its vertices in order to reach a plausible configuration.
Aand
Bis therefore needed. To retrieve this correspondence, a modified version of the Product Manifold Filter is used. Moreover, in order to apply an elastic force to its vertices,
Bmust be tetrahedralized so that it can behave as a solid body (and not as a hollow mesh). Tetrahedralization is carried out using one of two algorithms: a custom algorithm based on extrusion and the famous Delaunay tetrahedralization algorithm.
Roma Tre University