Data Structures | Enumerations | Enumerator | Functions
AtClosure API

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.
 

Detailed Description

AtClosure type and related utilities.

Function Documentation

◆ AiClosureSetExtraDepth()

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.

Parameters
closureBSDF, BSSRDF or volume closure
depthadditional depth added to global GI depth
Returns

◆ AiClosureSetExtraSamples()

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.

Parameters
closureBSDF, BSSRDF or volume closure
samplesadditional samples added to global GI samples
Returns

© 2022 Autodesk, Inc. · All rights reserved · www.arnoldrenderer.com