Rend-a-Pixel Raytracer
A physically-based renderer implementing various ray tracing techniques.
A physically-based renderer implementing various ray tracing techniques. Features include image denoising, normal mapping, multiple importance sampling, support for various material, texture types and lighting conditions, and many more.
By: Camilo Martínez
Rend-a-Pixel is a raytracing rendering engine developed on top of the Lightwave Framework as the final project for the Computer Graphics course at Saarland University lectured by Prof. Dr.-Ing. Philipp Slusallek during the Winter Semester 2023/2024. Some of the implemented features are showcased below:
Area Lights
Shading Normals
A Thinlens Camera Model
Alpha Masking
Image Denoising
Halton Sampler
Multiple Importance Sampling (MIS)
Every single image rendered with 128spp. The further improvement on the noise is not because of having done 128spp (all three images were rendered with the same spp's), but because of the Subtended-Cone Sampling.
Summary of Features
- ✓ Camera Models
- ✓ Basic Perspective Camera
- ✓ Thinlens Camera
- ✓ Basic Primitives
- ✓ Sphere
- ✓ Rectangles
- ✓ Triangle/Generic Meshes
- ✓ Integrators
- ✓ Albedo
- ✓ Normals
- ✓ Direct Lighting
- ✓ Path Tracing
- ✓ BSDFs & Lighting Models:
- ✓ Materials:
- ✓ Diffuse
- ✓ Conductor
- ✓ Rough Conductor
- ✓ Dielectric
- ✓ Principled
- ✓ Lambertian Emission
- ✓ Materials:
- ✓ Textures:
- ✓ Checkerboard Texture
- ✓ Image Texture
- ✓ Lights:
- ✓ Environment Map
- ✓ Area Lights
- ✓ Uniform Sphere Sampling
- ✓ Cosine-Weighted Sampling
- ✓ Subtended-Cone Sampling
- ✓ Point Light
- ✓ Directional Light
- ✓ Sampling:
- ✓ BSDF Sampling
- ✓ Next Event Estimation (NEE)
- ✓ Multiple Importance Sampling (MIS)
- ✓ Image denoising using Intel® Open Image Denoise
- ✓ Acceleration Structures:
- ✓ SAH Bounding Volume Hierarchy
- ✓ Shading Normals
- ✓ Alpha Masking
- ✓ Custom Bokeh Shapes
Copyright & Credits
© The Lightwave Framework was written by Alexander Rath, with contributions from Ömercan Yazici and Philippe Weier. Their support was invaluable in the coding of these features. The scenes showcasing the features were provided by their team, and should be used under permission. Many textures and models were taken from Poly Haven's extensive library. Many thanks to the team behind Tev used extensively throughout this project as an EXR viewer.
For more details, please refer to the project's GitHub repository.