32 template<
typename T, bsdf_attr Flag>
struct bsdf_fresnel_properties<ior::bagher_reflectance<T>, Flag> :
bsdf_properties<ior::bagher_reflectance<T>, Flag, std::array{1.0,0.0}, 1.0, std::array{0.0, -1.0}> {};
#define BBM_EXPORT_BSDFMODEL(BsdfModel)
Definition: bbm_fromstring.h:49
bsdfmodel concept
Definition: bsdfmodel.h:33
config concept
Definition: config.h:31
fresnel concept
Definition: fresnel.h:27
#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 ...
vec2d< T > type
Definition: bagher.h:24
Definition: aggregatebsdf.h:29
constexpr auto select(MASK &&mask, const A &a, const A &b)
Definition: backbone.h:255
Base declaration of attribute; further specialized below.
Definition: attribute.h:26
Definition: bsdf_attribute.h:88
Add an 'albedo' parameter to an existing bsdfmodel and scale the albedo and eval respectively.
Implements the Shifted Gamma Distribution:
bsdf_parameter property
Definition: bsdf_attribute.h:59
Bagher at al.'s modified Schlick's Fresnel approximation.
Definition: bagher.h:40
static constexpr Spectrum eval(const parameter_type &F, const Value &cosTheta, Mask mask=true)
Evaluate Bagher's modified Schlick Fresnel.
Definition: bagher.h:47
Implements the Fresnel reflectance equation as proposed by Schlick [Comp. Graph. Forum '94]: https://...
Definition: fresnel_schlick.h:21
static constexpr literal Cook
Definition: microfacet.h:35
Scaled BSDF model.
Definition: scaledmodel.h:30
Definition: string_literal.h:16