Skip to content

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.

Notifications You must be signed in to change notification settings

CamiloMartinezM/rend-a-pixel

Repository files navigation

Rend-a-Pixel (Raytracer)

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

No Area Lights Uniform Sphere Sampling
Cosine-Weighted Sampling Subtended-Cone Sampling

Multiple Importance Sampling

BSDF Sampling NEE MIS

Shading Normals

No Normal Mapping Normal Mapping

A Thinlens Camera Model

Perspective With Thinlens

Alpha Masking

Without Alpha Masking With Alpha Masking

Custom Bokeh Shapes

Sphere-looking Lights 3-bladed Bokeh Shapes

Image Denoising

Noisy Denoised

Halton Sampler

Independent Sampling Normal Halton Sampling
Digit-permutated Halton Sampling Owen-scrambled Halton Sampling

Halton Sampler (In detail)

Independent Sampling Normal Halton Sampling
Digit-permutated Halton Sampling Owen-scrambled Halton 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
  • Textures:
    • Checkerboard Texture
    • Image Texture
  • Lights:
    • Environment Map
      • Improved Environment Sampling
    • 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.

References

  1. Tomas Akenine-Mller, Eric Haines, and Naty Hoffman. Real-Time Rendering (4th ed.) USA: A. K. Peters, Ltd., 2018. ISBN: 0134997832.
  2. John F. Hughes et al. Computer Graphics - Principles and Practice, (3rd ed.) Addison-Wesley, 2014. ISBN: 978-0-321-39952-6.
  3. Matt Pharr, Wenzel Jakob, and Greg Humphreys. Physically Based Rendering: From Theory to Implementation, (3rd ed.) Morgan Kaufmann Publishers Inc., 2016, ISBN: 978-0128006450.
  4. Matt Pharr, Wenzel Jakob, and Greg Humphreys. Physically Based Rendering: From Theory to Implementation, (4th ed.) MIT Press, 2023, ISBN: 978-0262048026.

About

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.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published