Home

Awesome

Physically based rendering Path Tracer in Unity3D using compute shader

Unity 2018.3.7f1 (win10 64-bit)

DemoScreenShot

Material parameters:

  1. albedo
  2. specular (control the specular high light)
  3. metallic
  4. roughness
  5. specTrans (control transparency of the material. This parameter is to blend metallic BRDF with dielectricc BSDF and it is taken from Disney's BSDF)
    DemoScreenShot
    form Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering

Features:

  1. Path-Traced Physically based rendering based on Monte Carlo integration
  2. PBR BRDF and PBR BTDF
  3. Physically based parameters
  4. Hemisphere Sampling, importance sampling GGX

Principle:

Rendering Equation

DemoScreenShot

Monte Carlo Integration

DemoScreenShot

Pbr BRDF

This demo used cook-torrance BRDF. The choice of D,G,F term refers to the PBR implementation in UE4. DemoScreenShot
Formula Derivation

Pbr BSDF = BRDF + BTDF

The BSDF/BTDF used in this demo is from Walter's paper Microfacet Models for Refraction through Rough Surfaces DemoScreenShot
Notice! This BTDF is not reciprocal, be careful about the direction!
Formula Derivation

Reference:

GPU Path Tracing in Unity – Part 2
Rendering Equation
Monte Carlo Methods in Practice
蒙特·卡罗(Monte Carlo)积分详解
Reflection, Refraction (Transmission) and Fresnel
Webgl中采用PBR的实时光线追踪
Learnopengl
Real Shading in Unreal Engine 4
基于物理着色(一)
Microfacet Models for Refraction through Rough Surfaces
Microfacet models for refection and refraction
Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering
Disney Principled BRDF实现笔记
Cook-Torrance BRDF
Microfacet Models
Surface Reflection: Physical and Geometrical Perspectives
[Advanced Global Illumination]
How Is The NDF Really Defined?
ENERGY CONSERVATION IN GAMES
Adopting a physically based shading model