less than 1 minute read


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.

Rendering primitives

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.