top of page

Raytraced Hexagonal Surface

In the spring of 2019, a classmate and I implemented a raytracing 3D renderer from the ground up. The semester-long project was for a graduate class in computer graphics. 

Raytracing Site ↗

I wrote code to translate my randomly-generated hexagonal patterns into triangles in 3D space, which could be assigned a color and rendered by our raytracer. 

The first step was a simple digital pattern, generated in Python like the rest of Project Chameleon. 

smol_base.png

The simple raster pattern is transformed into hexagon space. The image below is the hexagonal form of the area marked in red above.

hexagonImage_watermark.png

The hexagon pattern is triangulated, as shown below.

trianglesOutline_smol.png

 (X,Y) hexagon vertices are assigned Z values to form a textured surface, and output with layer information. 

C++ code opens the vertices into triangle objects for the raytracing renderer. This is one of the resulting renders, upsized with a median filter applied.

pattern3D_smoothed_large.png

There are many problems with this output, such as the stark lighting difference caused by the singular simulated light source, and the lack of walls beneath the upper surface. 

The project was a foray into 3D-rendered camouflage. Even if the homebrew raytracer's results with the hexagons were disappointing, the hexagon-outputting strategy holds potential.

oregonForestTest3D.png
bottom of page