项目作者: aceyan

项目描述 :
Monte Carlo Path Tracer in Unity3D using compute shader
高级语言: C#
项目地址: git://github.com/aceyan/Unity3D_Path_Tracer.git
创建时间: 2020-06-20T07:13:09Z
项目社区:https://github.com/aceyan/Unity3D_Path_Tracer

开源协议:

下载


Monte Carlo Path Tracer in Unity3D using compute shader

Unity 2018.3.7f1 (win10 64-bit)

DemoScreenShot

Features:

  1. Path Tracing Rendering based on Monte Carlo integration
  2. Emprical BRDF and BTDF
  3. Diffuse, specular, refraction, Fresnel
  4. Hemisphere Sampling, importance sampling
  5. Fuzzy glassy ball

Principle:

Rendering Equation

DemoScreenShot

Monte Carlo Integration

DemoScreenShot

BSDF = BRDF + BTDF

DemoScreenShot

Energy Distribution

DemoScreenShot

BRDF and importance sampling

Importance-Sampling Lambert

DemoScreenShot

Importance-Sampling Phong

DemoScreenShot

BTDF and importance sampling

Importance-Sampling Phong for refraction

DemoScreenShot

Reference:

GPU Path Tracing in Unity – Part 2
Rendering Equation
Monte Carlo Methods in Practice
蒙特·卡罗(Monte Carlo)积分详解
Using the Modified Phong Reflectance Model for Physically Based Rendering (1994)
Uniform Sampling on unit Hemisphere
Generating uniformly distributed numbers on a sphere
Reflection, Refraction (Transmission) and Fresnel
Webgl中采用PBR的实时光线追踪
Image-based rendering of spatially-varying BSDF