Giter VIP home page Giter VIP logo

unity3d_pbr_path_tracer's Introduction

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

unity3d_pbr_path_tracer's People

Contributors

aceyan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.