Output | Normalized z-buffer |
Output | Normalized z-buffer |
Implemented multi-threading with std::thread
. My implementation is slightly different than that described in class. I simply sub-divide the image into chunks and give each chunk to a thread for rendering.
Render time | 0:00:00 |
Processor | 1.4 GHz Intel Core i5 |
RAM | 4 GB 1600 MHz DDR3 |
Graphics | Intel HD Graphics 5000 1536 MB |
In OpenGL, the GL_LIGHT_MODEL_LOCAL_VIEWER flag is false by default. This means that for the specular part of the lighting, OpenGL uses (0,0,1) as the view vector, instead of the actual viewing direction (I think this is just for speed, it's physically inaccurate). If this option is not enabled, the OpenGL output doesn't exactly match the ray-tracing output. Specular highlights appear incorrect in the OpenGL output.