Physically Based Rendering (Shaders): Realtime Material Lighting

C++, OpenGL

This project demonstrates basic implementation of the paper
Real Shading in Unreal 4
The paper outlines Epic Games' approach to physically based shading (PBS) for realistic material creation in Unreal Engine. It emphasizes energy conservation, microfacet theory, and roughness-based specular reflection, ensuring materials respond consistently to lighting.
This project demonstrates the following algorithms for material lightning as talked about in this paper.

  • Diffuse Irradiance
  • Specular(Glossy) Irradiance
  • We pre-compute lighting by taking samples of environment map across the set of directions within the hemisphere aligned with the input surface normal

    Sphere

    diffuseMaterialFireplace
    fullMetal0Rough
    fullMetal25Rough
    fullMetal50Rough
    fullMetal75Rough
    fullMetalFullRough
    glossyIrradianceAtelier
    glossyIrradiancePanorama

    Lucy

    Diffuse Irradiance (High Roughness and High Metallic)
    Diffuse Irradiance (High Roughness)

    Dragon

    Diffuse Irradiance (High Roughness and High Metallic)
    Diffuse Irradiance (High Roughness)