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 >) | |
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.