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



Who:

Code dump:

Wish lists:

  • My Amazon.com Wish List