A Path Tracer built with Nvidia Optix. The installation guidelines can be found in the INSTALL-WIN.txt. The required version of is 6.5 for Optix and 10.1 for Cuda. In this renderer, the following functionalities are implemented and more are coming. Examples are shown below and can be found in images file.
##List of My Implementation
- Geometry and Light Representation
- Ray-Geometry Intersection Checking for Triangles (Moller Trumbore Algorithm) and Spheres
- Ray Generation with Camera Ray Calculation
- Analytic Solution for Solving the Rendering Equation with Direct Polygon Lights
- Monte Carlo Integration for Solving the Rendering Equation with Direct Polygon Lights
- Monte Carlo Path Tracing where recursions are done iteratively
- Separation of Indirect and Direct Lighting Calculation (Next Event Estimator) for Path Tracing
- Russian Roulette for Unbiased Path Tracing
- Cosine and Modified Phong Material BRDF Importance Sampling for Indirect Light
- GGX Microfacet Materials with BRDF Importance Sampling
##Planned Fuctionalities
- Linearly Transformed Cosine
- Temporal and Bilateral Filtering
##Example
- Analytic Solved Direct Light with One Light Source
- Cornell Box with Monte Carlo Integrated Direct Light
- Cornell Box with Monte Carlo Path Traced Indirect Light and Next Event Estimator
- Cornell Box with Monte Carlo Path Traced Indirect Light, NEE, and Russian Roulette
- Cornell Box with Monte Carlo Path Tracing and Cosine Importance Sampling
- Cornell Box with Monte Carlo Path Tracing and BRDF Importance Sampling
- Cornell Box with Monte Carlo Path Tracing and GGX BRDF Importance Sampling
The Optix Skeleton is provided by [CSE168 at UCSD][https://github.com/CSE168sp20/CSE-168-OptiX-Starter-Code].