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) |
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.