This is a raytracer that I am writing from scratch for the course ceng795 at metu ceng. It is basically what a core path tracer should be for general applications.
- Basic linear transformations and Mesh Instancing
- Bounding Volume Hierarchy
- Multisampling
- Motion Blurr
- Depth of Field
- Rough/Glossy surfaces
- Textures
- Diffuse/Specular Maps
- Normal Maps
- Bump maps
- Perlin Noise
- Checker Board Procedural Textures
- BRDFs
- Blinn-Phong
- Phong
- Torrance-Sparrow
- HDR rendering and Reinhard tonemapping
- Path Tracing
- Importance Sampling
- Next Event Estimation
- Russian Roulette
- Point Light
- Area Light
- Spot Light
- Directional Light
- HDR Environment Maps
- Object Lights