Loading...
Searching...
No Matches
Classes | Namespaces
aggregatebsdf.h File Reference

A run-time aggregation of BSDFs. More...

#include <vector>
#include <numeric>
#include <utility>
#include <algorithm>
#include "concepts/config.h"
#include "concepts/stringconvert.h"
#include "util/multirange_for.h"
#include "bbm/bsdf.h"
#include "bbm/bsdf_ptr.h"
#include "bsdfmodel/aggregatemodel.h"

Go to the source code of this file.

Classes

class  aggregatebsdf< CONF, NAME >
 A BSDF that is the aggregate of different BSDFs. More...
 

Namespaces

namespace  bbm
 

Functions

template<typename... BSDFMODELs>
requires (concepts::bsdfmodel<BSDFMODELs> && ...)
auto aggregate (const bsdf< BSDFMODELs > &... src)
 Helper methods for simplifying the creation of a aggregate bsdf.
 
template<typename... CONFs>
requires (concepts::config<CONFs> && ...)
auto aggregate (const bsdf_ptr< CONFs > &... src)
 
template<typename ITR >
requires (std::input_or_output_iterator<ITR> && concepts::bsdf_ptr<std::iter_reference_t<ITR>>)
auto aggregate (const ITR &begin, const ITR &end)
 

Detailed Description

A run-time aggregation of BSDFs.

In contrast to aggregatemodel which aggregates BSDF models at compile time, aggregatebsdf aggregates BSDFs at run time by using virtual functions.