Godzil e61382a129 Doh, this was suppose to be the other way around: add to the bound IF it have finit bounds! | %!s(int64=4) %!d(string=hai) anos | |
---|---|---|
external | %!s(int64=4) %!d(string=hai) anos | |
output | %!s(int64=4) %!d(string=hai) anos | |
source | %!s(int64=4) %!d(string=hai) anos | |
tests | %!s(int64=4) %!d(string=hai) anos | |
.gitignore | %!s(int64=4) %!d(string=hai) anos | |
.gitmodules | %!s(int64=4) %!d(string=hai) anos | |
.travis.yml | %!s(int64=4) %!d(string=hai) anos | |
CMakeLists.txt | %!s(int64=4) %!d(string=hai) anos | |
COPYING | %!s(int64=4) %!d(string=hai) anos | |
LICENSE | %!s(int64=4) %!d(string=hai) anos | |
README.md | %!s(int64=4) %!d(string=hai) anos |
A Quick and dirty raytracer.
This raytracer is made following the book «The Ray Tracer Challenge» by Jamis Buck.
It is writen in C++ with no STL and use LodePNG to output PNG file.
From chapter 05 - Sphere intersections:
From Chapter 06 - Phong shading:
From Chapter 07 - World / Camera / Scenes:
From Chapter 08 - Shadows:
From Chapter 09 - Planes:
From Chapter 10 - Patterns:
From Chapter 11 - Reflections, Transparency & Refractions
From Chapter 12 - Cubes:
From Chapter 13 - Cylinders:
From Chapter 14 - Groups & Bounding boxes
Bonus (from the forum):
(about 7min render time using OpenMP on a 2.6Ghz Core i7 3720QM)