Monte Carlo Path Tracer

Path Tracing Engine

Path Tracing Engine

Year

'24

Client

Service

Graphics Programming

For Penn's graduate level course CIS 5610 aka Advanced Rendering, I developed a full Monte Carlo path tracer engine using C++ and GLSL. The resource https://pbr-book.org/ provided a contextual basis for the project.

© Monte Carlo Path Tracer

Features

This engine implements Multiple Importance Sampling, Global Illumination, Area, Point, and Environment Lights, Dielectric and Transmissive Materials, and Custom Scene Creation using JSON.

This project handles direct and indirect rays as well as providing tools to support a variety of materials as well as lighting conditions.

Technical Details

  • Lighting integrators (four variants)

    • Naive

    • Direct

    • Direct with multiple importance sampling (MIS)

    • Full lighting with global illumination

  • Multiple BxDFs (Bidirectional scattering distribution function)

    • Lambertian BRDF

    • Microfacet BSDF

    • Specular BRDF/BTDF

    • Matte material

  • Multiple light types

    • Area

    • Point

    • Spot

    • Environment

Papaya USD Asset Browser

Unreal-Inspired Real-Time Renderer

Create a free website with Framer, the website builder loved by startups, designers and agencies.