Master Thesis
The subject of my master thesis is GPGPU.
The idea is to make use of graphics hardware in order to do general purpose computations.
Some smart people figured out that modern GPUs are capable of performing
more than the specific graphics computations for which they were designed.
In my thesis I tried to let the GPU compute some collision detection and see how it performed.
A simple but effective GPGPU algorithm was developed;
the algorithm is a derivation of the famous BVH algorithm. It uses custom matrix data structures in order to run efficiently on modern GPUs.
The result were pretty interesting: GPUs are very good at doing "no so clever" computations like massive
matrix products but they performed badly when they are put through a lot of logics (switch, case, if constructs).
I also found out that to be a GPGPU programmer, you should have seen
at least a couple of MacGyver seasons! Because the programming model is very different and you're required to learn a lot of
tricks in order to do some basic stuff like reading from or writing to memory. I like MacGyver a lot by the way!
I'd like to thank Erxa for letting me use Robowave, its 3D development platform.
It helped me a lot to import/export, visualize meshes and finally to test my algorithm.
If you're interested, and if you know Italian, my work is available to download right below.
Downloads
Bachelor Thesis
For my BA thesis I tried to tweak the POV-Ray sampler to play with Low-Discrepancy sampling. It turned out that some mathematicians
developed this nice thing called discrepancy that can be used to evaluate a pattern of ray samples in a way that its "quality" can be expressed
numerically. So I plugged some code into POV-Ray in order to shoot rays with a nice LD pattern to try to avoid artifacts on my favorites
checkerboards.
So, if you're interested, and if you know Italian, you can download my work right below.
Downloads