rust-raytracer image gallery

Render times are taken from a 2008 Wolfdale Core2Duo @ 3.15GHz unless specified otherwise. Newer CPUs (obviously) perform much better.
Test scene (8 shadow samples, no fresnel, 512px×512px §
render time: 13s, primitives: 10, reflects: 4, refracts: 6, shadow samples: 8, supersampling: 2×2, lights: 1
Test scene (32 shadow samples, fresnel), 512px×512px §
render time: 86s, primitives: 10, reflects: 4, refracts: 6, shadow samples: 32, supersampling: 2×2, lights: 1
Test scene (64 shadow samples, fresnel), 512px×512px §
render time: 188s, primitives: 10, reflects: 4, refracts: 6, shadow samples: 64, supersampling: 2×2, lights: 1
Test scene (64 shadow samples, fresnel), 1024px×1024px §
render time: 696s, primitives: 10, reflects: 4, refracts: 6, shadow samples: 64, supersampling: 2×2, lights: 1
Test scene (wide, 64 shadow samples), 1024px×512px §
render time: 222s, primitives: 10, reflects: 4, refracts: 6, shadow samples: 64, supersampling: 2×2, lights: 1
Checkerboard texture test, 512px×512px §
UV parameterisation test, 512px×512px §
u: red channel, v: green channel
Image texture test, 512px×512px §
Plane parameterisation did not work well for image textures since ImageTexture was still missing a scale parameter.
Glossy reflections §
Glossy reflections on the shiny sphere.
Global illunimation test (WIP) §
Note the focusing of light and colour bleed on objects. It's blocky because it uses a cube to query cached photons instead of (rightly) using k-nearest neighbours. As a side effect of this, the irradiance is also guesstimated, which is why the image brightness doesn't look right at all.
Skybox test, 1024px×1024px §
This scene was used to check for proper stitching and orientation of the skybox cube map. The entire scene (nearly) can be seen with just a reflective sphere!
Skybox animation test, 512px×512px, 250 frames, 25fps §
render time: 796s
Fresnel test, 852px×480px, 250 frames, 25fps §
render time: 1840s (2014 i7 4790K @ 4.12GHz). This scene was used to test the fresnel implementation. The reflection in the floor fades as the camera tilts down.
Bunny with spheres, 512px×512px §
render time: 1559s, triangles: ≈300, reflects: 4, refracts: 6, shadow samples: 32, supersampling: 2×2, lights: 2
Bunny with spheres, no skybox, 2048px×2048px §
Triangles: ≈300
Teapot, 512px×512px §
render time: 472s, triangles: ≈2500, reflects: 4, refracts: 6, shadow samples: 32, supersampling: 2×2, lights: 1
Teapot (white), 512px×512px §
Note the higher reflectivity at the edges (grazing angles) and the obvious blocky shadows caused by the lower polygon model. Shading is still smooth due to the interpolation of normals.
Cow, 512px×512px §
render time: 941s, triangles: ≈5000, reflects: 4, refracts: 6, shadow samples: 32, supersampling: 2×2, lights: 1
Cow (broken), 512px×512px §
This happened because triangles which intersected multiple octree nodes were only added to one node.
Lucy, 512px×512px §
render time: 814s, triangles: ≈55K, reflects: 4, refracts: 6, shadow samples: 16, supersampling: 2×2, lights: 1
Lucy, no skybox, 1024px×1024px §
triangles: ≈55K
Lucy, 3072px×3072px §
Note that the background (skybox) image is blurred and not blocky thanks to the bilinear filtering of image textures. This skybox face has a texture resolution of 1024px×1024px.
Sponza, 512px×512px §
triangles: ≈27K, 2 lights
Sibenik, 512px×512px §
render time: 1855s (Wolfdale @ 3.15GHz), 344s (2014 i7 4790K @ 4.12GHz), triangles: ≈70K, shadow samples: 8, supersampling: 2×2, 3 lights
Sibenik, 427px×240px, 175 frames, 25fps §
render time: around 8 hours, shadow samples: 8, no supersampling
Heptoroid (white) §
render time: 3179s, shadow samples: 64, supersampling: 2×2, lights: 1
Heptoroid (shiny) §
render time: 2742s. The refract version was too slow; I didn't dare render it.
Heptoroid (refractive) §
At an IOR of 1.0, with only the refractive contribution (no reflections). I can't tell if this looks correct.
Heptoroid (refractive) §
render time: 30107s, reflect levels: 3, refract levels: 16, shadow samples: 32, supersampling: 2×2. At a refractive index of 1.5 (glass). Upping from 2 to 3 reflect levels killed the render time.
Heptoroid (refractive) §
At an IOR of 2.7.
Easing test (60fps) §
This used easing settings of "0.0 0.05 0.1 1.0". At 33% time in to the next keyframe the camera would have only moved 5% in distance to the next keyframe.
Tachikoma §
render time: 3748s, shadow samples: 64, supersampling: 2×2, lights: 1