Physically-Based Shaders
OpenGL / GLSL
Overview
This is a project from my graduate
'Advanced Rendering' course at Penn
​
Using theory on microfacet material models, point lights, and environment lighting based on the paper: Real Shading in Unreal 4, I implemented an OpenGL Shader with plastic/metallic BRDFs and pre-computed irradiance.
Description
-
Diffuse Irradiance
-
Based on the techniques described in Real Shading in Unreal 4, I take in an environment cube map, and use it to create a precomputed map of irradiance in all directions (we assume that all points are at the centre of the map.)
-
-
Specular Irradiance​
-
Implemented the precomputed 'Split-Sum Approximation' method by Epic Games, in order to obtain a pre-filtered environment map and the BRDF 2D LUT, which together, allow me to pre-compute an ambient specular irradiance component.
-
-
Microfacet BSDF
-
Microfacet material implemented through a weighted average of the Cook-Torrance and Lambertian BRDFs.
-
-
Displacement Map
-
Implemented a displacement map through displacing vertex positions in the vertex shader by the amount specified in the input map.
-