Skip to content

ddrevicky/physically-based-shading

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Physically Based Shading

This is a physically based shading renderer in OpenGL/GLSL. The physically based part means that the shading model tries to preserve the incoming and outgoing energy in the environment (though it is still a rough approximation).

Results

Details

  • The PBR pipeline uses the metallic/roughness workflow.
  • The BRDF uses the Cook-Torrance specular factor and Lambertian diffuse factor. GGX is used as the normal distribution function, GGX-Smith as the geometry function and the Fresnel term is approximated using Schlick.
  • The shader uses both point lights and environment lighting. The environment is loaded from an HDR map courtesy of HDR labs. The implementation which runs smoothly in real time is based on Epic Games' ideas of split-sum approximation of the evaluated reflectance equation integral.
  • If you're interested there's a detailed description of the maths behind the renderer in this report.

Acknowledgements

Joey de Vries (Learn OpenGL)

About

Physically based shading renderer in OpenGL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages