top of page

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.

bottom of page