36enum class AtRandomWalkVersion
67 int32_t dielectric_importance = 0,
68 float dielectric_roughness = 0,
69 float dielectric_eta = 1,
70 float transmission_shadow_density = 0.5f);
Closure type and utilities.
Color types and utilities.
Shader globals struct, methods and macros.
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:259
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:352
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:414
AI_API AI_DEVICE AtClosure AiClosureVolumeEmission(const AtShaderGlobals *sg, const AtRGB &weight)
Create volume emission closure, for volume shaders.
Definition: ai_shader_closure.cpp:378
AI_API AI_DEVICE AtClosure AiClosureTransparent(const AtShaderGlobals *sg, const AtRGB &weight=AI_RGB_WHITE, const AtClosureList interior_volume=nullptr, int32_t dielectric_importance=0, float dielectric_roughness=0, float dielectric_eta=1, float transmission_shadow_density=0.5f)
Create transparent closure for surface shaders.
Definition: ai_shader_closure.cpp:234
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:140
AI_API AI_DEVICE AtClosure AiClosureEmission(const AtShaderGlobals *sg, const AtRGB &weight)
Create emission closure for surface shaders.
Definition: ai_shader_closure.cpp:203
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:272
AI_API AI_DEVICE AtClosure AiClosureRandomWalkBSSRDF(const AtShaderGlobals *sg, const AtRandomWalkVersion &version, const AtRGB &weight, const AtVector &mfp, const AtRGB &albedo, float g=0.0f)
Create BSSRDF closure for random walk subsurface scattering in surface shaders.
Definition: ai_shader_closure.cpp:164
AI_API AI_DEVICE AtClosure AiClosureVolumeAbsorption(const AtShaderGlobals *sg, const AtRGB &weight)
Create volume absorption closure, for volume shaders.
Definition: ai_shader_closure.cpp:294
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:185
AI_API AI_DEVICE AtClosure AiClosureVolumeMatte(const AtShaderGlobals *sg, const AtRGB &weight)
Create volume matte closure, for volume shaders.
Definition: ai_shader_closure.cpp:394
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:327
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