KinskiGL now using Physically Based Rendering (PBR)

recently I invested some time to catch up with current state-of-the-art realtime rendering techniques.

after digesting the siggraph 2013 course notes from Epic I started implementing a new material and lighting system within kinskiGL.

helpful resources along the way were also the “Physics and Math of Shading” presentation by Naty Hoffman and “Realtime Rendering” by Tomas Akenine-Moeller.

  • the new material uses a metal/roughness/ambient occlusion workflow, the lighting system was enhanced with support for Image based Lighting (IBL).
  • kinskiGL now reads .hdr radiance-HDR maps (provided as equi-rectangular panoramas or cubemaps) and uses those to replace the ambient term in the shading equation.
  • the shading model reflects the common shift from Phong/Blinn-Phong to a generic BRDF as described by Cook/Torrance (A Reflectance Model for Computer Graphics).
  • kinskiGL now also supports the glTF-2.0 model format as plain or binary file.

 

results

finally some screenshots to round up the post.

all models are lit by the .hdr maps in the background alone, though the lighting model plays nicely with classic point/spot/directional lights.

 

sources

most models are from Khronos’ collection of glTF-2.0 testmodels: github.com/KhronosGroup/glTF-Sample-Models

the background HDR maps used can be found here: http://www.hdrlabs.com/sibl/archive.html

the application used is a 3Dviewer, which is a sample application of my KinskiGL framework: github.com/crocdialer/KinskiGL

 

conclusion

it’s 2018, looks like we made some progress recently.

 

hope you like it,

croc

Leave a Reply

Your email address will not be published. Required fields are marked *