Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
ngan.h File Reference

All the BSDF variants used in "Experimental Analysis of BRDF Model". More...

#include "bsdfmodel/aggregatemodel.h"
#include "bsdfmodel/lambertian.h"
#include "bsdfmodel/ward.h"
#include "bsdfmodel/wardduer.h"
#include "bsdfmodel/phong.h"
#include "bsdfmodel/lafortune.h"
#include "bsdfmodel/cooktorrance.h"
#include "bsdfmodel/ashikhminshirley.h"

Go to the source code of this file.

Classes

class  nganlafortune< CONF, NAME >
 Ngan's Lafortune: standard Lafortune times an additional normalization factor: More...
 

Namespaces

namespace  bbm
 

Typedefs

template<typename CONF , string_literal NAME = "NganWard">
using nganward = ward< CONF, symmetry_v::Isotropic, NAME >
 Ngan's Ward: standard Ward with isotropic roughness. This can be achieved with a simple alias.
 
template<typename CONF , string_literal NAME = "NganWardDuer">
using nganwardduer = wardduer< CONF, symmetry_v::Isotropic, NAME >
 Ngan's Ward-Duer: stanard Ward-Duer with isotropic roughness. This can be achieved with a simple alias.
 
template<typename CONF , string_literal NAME = "NganBlinnPhong">
using nganblinnphong = phong< CONF, NAME >
 Ngan's Blinn-Phong: same as modifed phong; a simple alias suffices.
 
template<typename CONF , string_literal NAME = "NganCookTorrance">
using ngancooktorrance = scaledmodel< microfacet< ndf::beckmann< CONF, symmetry_v::Isotropic >, maskingshadowing::vgroove< CONF >, fresnel::schlick< CONF >, microfacet_n::Cook, NAME >, bsdf_attr::SpecularScale >
 Ngan's Cook-Torrance is normalized by pi, is isotropic, and has vgroove masking and shadowing, schlick fresnel, F0 reflectance, and backman distribution.
 
template<typename CONF , string_literal NAME = "NganAshikhminShirley">
using nganashikhminshirley = scaledmodel< ashikhminshirley< CONF, fresnel::schlick< CONF, ior::reflectance< Value_t< CONF > > >, symmetry_v::Isotropic, NAME >, bsdf_attr::SpecularScale >
 Ngan's Ashkihmin-Shirley model; does not include Ashikhmin-Shirley's diffuse component, and it is isotropic. THis can be achieved with a simple alias.
 
template<typename CONF >
using nganhe = scaledmodel< ndf_sampler< he_base< CONF, fresnel::cook< CONF >, he_eq25::Errata, he_eq78::Westin, 4, 64, true, 18 >, 90, 1, "NganHe">, bsdf_attr::SpecularScale >
 Ngan's He et al.'s BSDF likely uses the Westin et al. formulation but with non-complex eta.
 

Functions

 BBM_CHECK_CONCEPT (concepts::bsdfmodel, nganlafortune< config >)
 
 BBM_CHECK_CONCEPT (concepts::bsdfmodel, bagher< config >)
 

Detailed Description

All the BSDF variants used in "Experimental Analysis of BRDF Model".

Note: these are only the specular component of the models. Use aggregatemodel to combine them with a lambertian model.