Back in 2016, I took part in a large open-source program called Google Summer of Code or GSoC. Specifically, I worked with an organization called BRL-CAD which specialised in a computer-aided design (CAD) software. Here is the official project page from GSoC archives.
For my GSoC project, I proposed to improve OpenCL support for the BRL-CAD raytracer. I successfully accelerated the rendering of a few primitive shapes such as EPA (elliptical parabolloid), ETO (elliptical torus), PART (lozenge shaped object).
|Primitive ETO rendered by the OpenCL raytracer||Primitive PART rendered by the OpenCL raytracer|
Rendering more complex objects
Subsequently, I reimplemented a boolean weaving algortihm to combine multiple primitives to yield more complex shapes. Boolean operations include Union, Intersection and Difference.
|Complex object by combining primitives using boolean weaving|
For more information, navigate to my weekly logs.