Loading...
Searching...
No Matches
Namespaces | Functions
bsdf_enumerate.h File Reference

Enumerate all BSDF parameters (e.g., stack in a vector). More...

#include <type_traits>
#include "core/attribute.h"
#include "core/enumerate.h"
#include "concepts/bsdf_attribute.h"
#include "util/flags.h"
#include "util/constfor.h"
#include "util/reflection.h"
#include "util/vector_util.h"
#include "bbm/bsdf_base.h"
#include "bbm/bsdfmodel.h"

Go to the source code of this file.

Namespaces

namespace  bbm
 

Functions

template<typename MODEL , typename CALLBACK >
requires concepts::bsdfmodel<MODEL>
void enumerate_parameters (bsdf_attr flag, MODEL &&model, CALLBACK &&callback)
 Enumerate the values of the attributes from a bsdf model.
 
template<typename MODEL , typename CALLBACK >
requires concepts::bsdfmodel<MODEL>
void enumerate_default_parameters (bsdf_attr flag, MODEL &&model, CALLBACK &&callback)
 Enumerate the default values of the attributes from a bsdf model.
 
template<typename MODEL , typename CALLBACK >
requires concepts::bsdfmodel<MODEL>
void enumerate_lower_bound (bsdf_attr flag, MODEL &&model, CALLBACK &&callback)
 Enumerate the lower bounds of the attributes from a bsdf model.
 
template<typename MODEL , typename CALLBACK >
requires concepts::bsdfmodel<MODEL>
void enumerate_upper_bound (bsdf_attr flag, MODEL &&model, CALLBACK &&callback)
 Enumerate the upper bounds of the attributes from a bsdf model.
 
template<typename MODEL >
requires (concepts::bsdfmodel<MODEL> && !concepts::bsdf<MODEL>)
auto parameter_values (MODEL &&model, bsdf_attr flag=bsdf_attr::All)
 Enumerate the parameters of a BSDF model in a vector.
 
template<typename BSDF >
requires concepts::bsdf<BSDF>
auto parameter_values (BSDF &bsdf, bsdf_attr flag=bsdf_attr::All)
 Enumerate the parameters of a BSDF in a vector.
 
template<typename MODEL >
requires (concepts::bsdfmodel<MODEL> && !concepts::bsdf<MODEL>)
auto parameter_default_values (MODEL &&model, bsdf_attr flag=bsdf_attr::All)
 Enumerate the default parameters of a BSDF model in a vector.
 
template<typename BSDF >
requires concepts::bsdf<BSDF>
auto parameter_default_values (const BSDF &bsdf, bsdf_attr flag=bsdf_attr::All)
 Enumerate the default parameters of a BSDF in a vector.
 
template<typename MODEL >
requires (concepts::bsdfmodel<MODEL> && !concepts::bsdf<MODEL>)
auto parameter_lower_bound (MODEL &&model, bsdf_attr flag=bsdf_attr::All)
 Enumerate the lower bound of the parameters of a BSDF model in a vector.
 
template<typename BSDF >
requires concepts::bsdf<BSDF>
auto parameter_lower_bound (const BSDF &bsdf, bsdf_attr flag=bsdf_attr::All)
 Enumerate the lower bound of the parameters of a BSDF in a vector.
 
template<typename MODEL >
requires (concepts::bsdfmodel<MODEL> && !concepts::bsdf<MODEL>)
auto parameter_upper_bound (MODEL &&model, bsdf_attr flag=bsdf_attr::All)
 Enumerate the upper bound of the parameters of a BSDF model in a vector.
 
template<typename BSDF >
requires concepts::bsdf<BSDF>
auto parameter_upper_bound (const BSDF &bsdf, bsdf_attr flag=bsdf_attr::All)
 Enumerate the upper bound of the parameters of a BSDF in a vector.
 

Detailed Description

Enumerate all BSDF parameters (e.g., stack in a vector).