Loading...
Searching...
No Matches
low.h
Go to the documentation of this file.
1#ifndef _BBM_LOW_FITMODELS_H_
2#define _BBM_LOW_FITMODELS_H_
3
4#include "bbm/bsdfmodel.h"
8
9/************************************************************************/
10/*! \file low.h
11
12 \brief The bsdfmodels used for the BSDF paramter fits in the supplemental
13 material of: "BRDF models for accurate and efficient rendering of glossy
14 surfaces" [Low 2012]: https://doi.org/10.1145/2077341.2077350
15
16**************************************************************************/
17namespace bbm {
18
19 /**********************************************************************/
20 /*! \brief Low et al.'s version of the specular component of the
21 Ashikhmin-Shirley BSDF: uses the Cook-Torrance Fresnel component with
22 index of refraction.
23 ***********************************************************************/
24 template<typename CONF, string_literal NAME="LowAshikhminShirley"> requires concepts::config<CONF>
26
27 /**********************************************************************/
28 /*! \brief Low et al.'s version of the specular component of the
29 Cook-Torrance BSDF; this directly mirrors the original Cook-Torrance
30 implementation.
31 ***********************************************************************/
32 template<typename CONF, string_literal NAME="LowCookTorrance"> requires concepts::config<CONF>
33 using lowcooktorrance = cooktorrance<CONF, "LowCookTorrance">;
34
35 /**********************************************************************/
36 /*! \brief Shorthand for the Low BSDF model compatible with the fits listed
37 in their supplemental material which differs from the model in the paper
38 by using a different normalization factor.
39 ***********************************************************************/
40 template<typename CONF, string_literal NAME="LowMicrofacetFit"> requires concepts::config<CONF>
42
44
45} // end bbm namespace
46
47#endif /* _BBM_LOW_FITMODELS_H_ */
48
Implements the specular component from: "An anisotropic phong BRDF model" [Ashikhmin and Shirley 2000...
All includes and helpers needed for declaring new bsdfmodels.
#define BBM_EXPORT_BSDFMODEL(BsdfModel)
Definition: bbm_fromstring.h:49
The Low et al. Microfacet BRDF model.
Definition: lowmicrofacet.h:44
bsdfmodel concept
Definition: bsdfmodel.h:33
config concept
Definition: config.h:31
The classic diffuse Lambertian BSDF model.
The Low et al.'s microfacet BRDF model from "BRDF models for accurate and efficient rendering of glos...
#define BBM_CHECK_CONCEPT(CONCEPTNAME, CLASSNAME,...)
Check a class for a concept with bbm::concepts::archetypes in the namespace.
Definition: macro.h:35
Definition: aggregatebsdf.h:29
Scaled BSDF model.
Definition: scaledmodel.h:30
Definition: string_literal.h:16