/dj_brdf

A C++ Microfacet BRDF Fitting and Rendering Library

Primary LanguageC++

This repository contains the source code used to produce the results of my PhD 
Thesis "Photorealistic Rendering with Microfacet Theory", which is available 
here: https://hal.archives-ouvertes.fr/tel-01291974
For more information on how to use the library, see the dj_brdf.h file. For 
users familiar with the Mitsuba renderer, looking at the plugins in the mitsuba/ 
folder shoud also be useful.

Here's a quick list of features
- Implements microfacet BRDFs based on the Smith shadowing model
- Full control over elliptic anisotropy
- Support for sampling with the distribution of visible normals for Beckmann
  and GGX distributions
- Support for LEAN/LEADR mapping
- Support for MERL and UTIA fitting with power iterations
- Added C++ tools to create LEAN/LEADR maps from displacement maps and normal 
  maps (see utils/ folder)
- Support for loading and rendering SGD and ABC BRDF models
- Support for loading and rendering of MERL and UTIA datasets

Those who wish to get the code to reproduce the results from my EGSR 2015 
paper entitled "Extracting Microfacet-based BRDF Parameters from Arbitrary 
Materials with Power Iterations" should clone the esgr_2015 branch.