Closure type and utilities.
Color types and utilities.
Shader globals struct, methods and macros.
AI_API AI_DEVICE AtClosure AiClosureRandomWalkBSSRDF(const AtShaderGlobals *sg, const AtRGB &weight, const AtVector &mfp, const AtRGB &albedo, float g=0.0f)
Create BSSRDF closure for subsurface scattering in surface shaders.
Definition: ai_shader_closure.cpp:162
AI_API AI_DEVICE AtClosure AiClosureMatte(const AtShaderGlobals *sg, const AtRGB &weight=AI_RGB_WHITE)
Create matte closure for surface shaders.
Definition: ai_shader_closure.cpp:268
AI_API AI_DEVICE AtClosure AiClosureVolumeDoubleHenyeyGreenstein(const AtShaderGlobals *sg, const AtRGB &absorption, const AtRGB &scattering, const AtRGB &emission, float g=0.f, float g2=0.f, float w2=0.f)
This creates a linear mix of two Henyey-Greenstein phase function lobes, of the form:
Definition: ai_shader_closure.cpp:361
AI_API AI_DEVICE AtClosure AiClosureVolumeAtmosphere(const AtShaderGlobals *sg, const AtRGB &emission, const AtRGB &transparent, const AtRGB &matte)
Create volume atmosphere closure, for legacy atmosphere shaders.
Definition: ai_shader_closure.cpp:423
AI_API AI_DEVICE AtClosure AiClosureVolumeEmission(const AtShaderGlobals *sg, const AtRGB &weight)
Create volume emission closure, for volume shaders.
Definition: ai_shader_closure.cpp:387
AI_API AI_DEVICE AtClosure AiClosureTransparent(const AtShaderGlobals *sg, const AtRGB &weight=AI_RGB_WHITE, const AtClosureList interior=NULL, int32_t importance=0)
Create transparent closure for surface shaders.
Definition: ai_shader_closure.cpp:253
AI_API AI_DEVICE AtClosure AiClosureEmpiricalBSSRDF(const AtShaderGlobals *sg, const AtRGB &weight, const AtVector &mfp, const AtRGB &albedo)
Create BSSRDF closure for subsurface scattering in surface shaders.
Definition: ai_shader_closure.cpp:135
AI_API AI_DEVICE AtClosure AiClosureEmission(const AtShaderGlobals *sg, const AtRGB &weight)
Create emission closure for surface shaders.
Definition: ai_shader_closure.cpp:227
AI_API AtClosure AiClosureBackground(const AtShaderGlobals *sg, const AtRGB &weight=AI_RGB_WHITE)
Create background closure for background surface shaders.
Definition: ai_shader_closure.cpp:281
AI_API AI_DEVICE AtClosure AiClosureVolumeAbsorption(const AtShaderGlobals *sg, const AtRGB &weight)
Create volume absorption closure, for volume shaders.
Definition: ai_shader_closure.cpp:303
AI_API AI_DEVICE void AiClosureBSSRDFSetDirectIndirect(AtClosure closure, float weight_direct, float weight_indirect)
Set the BSSRDF closure direct and indirect light contribution weights.
Definition: ai_shader_closure.cpp:209
AI_API AI_DEVICE AtClosure AiClosureVolumeMatte(const AtShaderGlobals *sg, const AtRGB &weight)
Create volume matte closure, for volume shaders.
Definition: ai_shader_closure.cpp:403
AI_API AI_DEVICE AtClosure AiClosureRandomWalkV2BSSRDF(const AtShaderGlobals *sg, const AtRGB &weight, const AtVector &mfp, const AtRGB &albedo, float g=0.0f)
Create BSSRDF closure for subsurface scattering in surface shaders.
Definition: ai_shader_closure.cpp:190
AI_API AI_DEVICE AtClosure AiClosureVolumeHenyeyGreenstein(const AtShaderGlobals *sg, const AtRGB &absorption, const AtRGB &scattering, const AtRGB &emission, float g=0.f)
Create Henyey-Greenstein volume scattering closure, for volume shaders.
Definition: ai_shader_closure.cpp:336
Definition: ai_closure.h:85
Definition: ai_closure.h:61
RGB color.
Definition: ai_color.h:32
Shader globals data structure.
Definition: ai_shaderglobals.h:45
3D point (single precision)
Definition: ai_vector.h:30