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