Loading...
Searching...
No Matches
ggxheitz.h
Go to the documentation of this file.
1#ifndef _BBM_GGX_HEITZ_H_
2#define _BBM_GGX_HEITZ_H_
3
6#include "ndf/ggx.h"
8
9/************************************************************************/
10/*! \file ggx.h
11
12 \brief Implements the anisotropic GGX BSDF from: "Understanding the
13 Masking-Shadowing Function in Microfacet-Based BRDFs" [Heitz 2014]:
14 https://jcgt.org/published/0003/02/03/
15
16*************************************************************************/
17namespace bbm {
18
19 /**********************************************************************/
20 /*! \brief Microfacet BSDF with anisotropic GGX-based NDF with heigh
21 correlated shadowing and masking.
22
23 \tparam CONF = bbm configuration
24 \tparam NAME = model name (default = GGXHeitz)
25
26 Implements: concepts::bsdfmodel
27 ***********************************************************************/
28 template<typename CONF, string_literal NAME = "GGXHeitz"> requires concepts::config<CONF>
33 NAME>,
35
37
38
39} // end bbm namespace
40
41#endif /* _BBM_GGX_HEITZ_H_ */
42
#define BBM_EXPORT_BSDFMODEL(BsdfModel)
Definition: bbm_fromstring.h:49
bsdfmodel concept
Definition: bsdfmodel.h:33
Height correlated joint masking and shadowing. Follows Eq. 99 from "Understanding the Masking-Shadowi...
#define BBM_CHECK_CONCEPT(CONCEPTNAME, CLASSNAME,...)
Check a class for a concept with bbm::concepts::archetypes in the namespace.
Definition: macro.h:35
Microfacet BSDF model following "Microfacet Models for Refraction through Rough Surfaces" [Walter et ...
Definition: aggregatebsdf.h:29
Implements the GGX Microfacet Normal Distribution from: "Microfacet Models for Refraction through Rou...
Add an 'albedo' parameter to an existing bsdfmodel and scale the albedo and eval respectively.
Implements the Fresnel reflectance equation as proposed by Cook and Torrance [SIGGRAPH'82]: https://d...
Definition: fresnel_cook.h:21
Height correlated joint masking and shadowing.
Definition: heightcorrelated.h:26
static constexpr literal Walter
Definition: microfacet.h:34
Scaled BSDF model.
Definition: scaledmodel.h:30