CS 6620 Fall 2014 - Project 3

Simple Test Scene: 57ms

Box Scene: 83ms

Hardware Used

Render times were measured using std::chrono::high_resolution_clock and only include time to render, ie. time to load the scene and write the images to disk is ignored. Both images were rendered with 8 threads and 8x8 blocks with one sample taken per pixel.

CPU: Intel i5-2500K @ 4.0GHz, 4 hardware threads
RAM: 8GB 1600MHz DDR3
Compiler: gcc 4.9.1 (MinGW on Windows)
Compilation Flags: -O3 -mfpmath=sse -march=native -flto

Won't somebody please think of the caches?

The random block ordering I implemented in project 2 is neat but not so great if you want to have coherent memory access, so I migrated to the Z-order mentioned by Ian on the discussion board. Below is a slowed down video of the box scene for this project rendering with this new ordering. I did also implement the spiral from center ordering but as you get to the edges of the image it starts to lose locality, so I think the Z-order is a bit better.

2 Threads with 8x8 Blocks