A ray tracer built with C++. A lot of the code comes from Ray Tracing From The Ground Up - [site]
Check out the wiki for more images https://github.com/nadr0/Simple-Scene-Renderer/wiki/Renders
- Lighting
- Direct
- Point
- Area
- Ambient
- Ambient Occlusion
- Materials
- Matte
- Phong
- Reflective
- Glossy reflections
- Microfacet specular BRDF
- Primitives
- Sphere
- Rectangle
- Plane
- Triangle
- Disk
- Tracers
- Basic (non whitted)
- Whitted
- Path tracing (Global Illumination with Monte Carlo Method)
- Bounding Volume Hierarchy (BVH)
- Median split method
- Fast Building of Orthonormal Basis
- Smooth shaded triangles
- Mesh reader for .obj files
- Depth of field
- non linear projections (fish eye)
- refraction
- instancing
- textures
- texture mapping
- procedural textures
- scene language
- SAH BVH method
- bump mapping
- environment mapping (HDR)
Images below are created from path tracing with diffuse interreflections.
SPP | Image Size | Render Time | # Primitives |
---|---|---|---|
1 | 512x512 | 0.3 sec | 8 |
SPP | Image Size | Render Time | # Primitives |
---|---|---|---|
10,000 | 512x512 | 44 mins | 8 |
SPP | Image Size | Render Time | # Primitives |
---|---|---|---|
100,000 | 512x512 | 9.1 hours | 8 |
SPP | Image Size | Render Time | # Primitives |
---|---|---|---|
1,000 | 512x512 | 6.8 hours | 5811 |
SPP | Image Size | Render Time | # Primitives |
---|---|---|---|
10,000 | 512x512 | 2.7 hours | 8 |
SPP | Image Size | Render Time | # Primitives | Depth |
---|---|---|---|---|
10,000 | 512x512 | 2.2 hours | 8 | 15 |