AtClosure type and related utilities. More...
Data Structures | |
| struct | AtClosure |
| struct | AtClosureList |
Enumerations | |
| enum | AtClosureType { AI_CLOSURE_NONE = 0 , AI_CLOSURE_BSDF , AI_CLOSURE_BSSRDF , AI_CLOSURE_EMISSION , AI_CLOSURE_DEBUG , AI_CLOSURE_TRANSPARENT , AI_CLOSURE_MATTE , AI_CLOSURE_BACKGROUND , AI_CLOSURE_VOLUME_ABSORPTION , AI_CLOSURE_VOLUME_SCATTERING , AI_CLOSURE_VOLUME_EMISSION , AI_CLOSURE_VOLUME_MATTE , AI_CLOSURE_VOLUME_ATMOSPHERE , AI_CLOSURE_DIELECTRIC } |
| Shader closure types. | |
Functions | |
| AI_API AI_DEVICE AtClosureType | AiClosureType (AtClosureBase *closure) |
| AI_API AI_DEVICE AtRGB | AiClosureWeight (AtClosureBase *closure) |
| AI_API AI_DEVICE void | AiClosureSetWeight (AtClosureBase *closure, const AtRGB &weight) |
| AI_API AtString | AiClosureLabel (AtClosureBase *closure) |
| AI_API void | AiClosureSetLabel (AtClosureBase *closure, const AtString label) |
| AI_API AI_DEVICE AtClosureBase * | AiClosureNext (AtClosureBase *closure) |
| AI_API AI_DEVICE void | AiClosureSetExtraDepth (AtClosureBase *closure, uint8_t extra_depth) |
| Set BSDF, BSSRDF or volume closures to use additional GI depth. More... | |
| AI_API AI_DEVICE void | AiClosureSetExtraSamples (AtClosureBase *closure, uint8_t extra_samples) |
| Set BSDF, BSSRDF or volume closures to use additional GI samples. More... | |
| AI_DEVICE AtClosureType | AtClosure::type () |
| Get closure type. | |
| AI_DEVICE AtRGB | AtClosure::weight () |
| Get closure weight. | |
| AI_DEVICE AtClosure | AtClosure::next () |
Get next closure, if part of an AtClosureList. | |
| AI_DEVICE | AtClosure::AtClosure (AtClosureBase *data_) |
| AI_DEVICE | AtClosure::operator AtClosureBase * () const |
| AI_API AI_DEVICE AtClosureBase * | AiClosureListAdd (AtClosureBase *listA, AtClosureBase *listB) |
| AI_API AI_DEVICE AtClosureBase * | AiClosureListWeight (AtClosureBase *list, const AtRGB &weight) |
| AI_DEVICE | AtClosureList::AtClosureList () |
| Create empty closure list. | |
| AI_DEVICE | AtClosureList::AtClosureList (AtClosure data_) |
| Create closure list from single closure. | |
| AI_DEVICE | AtClosureList::AtClosureList (AtBSDF *data_) |
| Create closure list from single BSDF. | |
| AI_DEVICE AtClosure | AtClosureList::front () const |
| First element in the list. | |
| AI_DEVICE void | AtClosureList::add (AtClosure closure) |
| Add closure to closure list. | |
| AI_DEVICE void | AtClosureList::add (AtBSDF *bsdf) |
| Add BSDF to closure list. | |
| AI_DEVICE void | AtClosureList::add (AtClosureList list) |
| Add closure list to closure list. | |
| AI_DEVICE void | AtClosureList::operator*= (const AtRGB &weight) |
| Multiply weight of all closures in the list. | |
| AI_DEVICE void | AtClosureList::operator*= (float weight) |
| Multiply weight of all closures in the list. | |
| AI_DEVICE bool | AtClosureList::empty () const |
| Test if list is empty. | |
AtClosure type and related utilities.
| AI_API AI_DEVICE void AiClosureSetExtraDepth | ( | AtClosureBase * | closure, |
| uint8_t | extra_depth | ||
| ) |
Set BSDF, BSSRDF or volume closures to use additional GI depth.
For shaders that require higher depth than others in the scene, this makes it possible to assign additional GI depth to specific shaders.
| closure | BSDF, BSSRDF or volume closure |
| depth | additional depth added to global GI depth |
| AI_API AI_DEVICE void AiClosureSetExtraSamples | ( | AtClosureBase * | closure, |
| uint8_t | extra_samples | ||
| ) |
Set BSDF, BSSRDF or volume closures to use additional GI samples.
For shaders that require more samples than others in the scene, this makes it possible to assign more GI samples to specific shaders.
| closure | BSDF, BSSRDF or volume closure |
| samples | additional samples added to global GI samples |