ai_shader_aovs.h
1 /*
2  * Arnold API header file
3  * Copyright (c) 1998-2009 Marcos Fajardo, (c) 2009-2013 Solid Angle SL
4  */
5 
11 #pragma once
12 #include "ai_api.h"
13 #include "ai_params.h"
14 #include "ai_color.h"
15 #include "ai_vector.h"
16 #include "ai_types.h"
17 
18 struct AtShaderGlobals;
19 
56 AI_API bool AiAOVSetBool(AtShaderGlobals* sg, const char* name, bool val);
57 AI_API bool AiAOVSetInt (AtShaderGlobals* sg, const char* name, int val);
58 AI_API bool AiAOVSetFlt (AtShaderGlobals* sg, const char* name, float val);
59 AI_API bool AiAOVSetRGB (AtShaderGlobals* sg, const char* name, AtColor val);
60 AI_API bool AiAOVSetRGBA(AtShaderGlobals* sg, const char* name, AtRGBA val);
61 AI_API bool AiAOVSetVec (AtShaderGlobals* sg, const char* name, AtVector val);
62 AI_API bool AiAOVSetPnt (AtShaderGlobals* sg, const char* name, AtPoint val);
63 AI_API bool AiAOVSetPnt2(AtShaderGlobals* sg, const char* name, AtPoint2 val);
64 AI_API bool AiAOVSetPtr (AtShaderGlobals* sg, const char* name, void* val);
65 /*\}*/
66 
80 AI_API bool AiAOVGetBool(const AtShaderGlobals* sg, const char* name, bool& val);
81 AI_API bool AiAOVGetInt (const AtShaderGlobals* sg, const char* name, int& val);
82 AI_API bool AiAOVGetFlt (const AtShaderGlobals* sg, const char* name, float& val);
83 AI_API bool AiAOVGetRGB (const AtShaderGlobals* sg, const char* name, AtColor& val);
84 AI_API bool AiAOVGetRGBA(const AtShaderGlobals* sg, const char* name, AtRGBA& val);
85 AI_API bool AiAOVGetVec (const AtShaderGlobals* sg, const char* name, AtVector& val);
86 AI_API bool AiAOVGetPnt (const AtShaderGlobals* sg, const char* name, AtPoint& val);
87 AI_API bool AiAOVGetPnt2(const AtShaderGlobals* sg, const char* name, AtPoint2& val);
88 AI_API bool AiAOVGetPtr (const AtShaderGlobals* sg, const char* name, void*& val);
89 /*\}*/
90 
91 #define AI_AOV_BLEND_NONE 0
92 #define AI_AOV_BLEND_OPACITY 1
93 
94 AI_API bool AiAOVEnabled(const char* name, AtByte type);
95 AI_API bool AiAOVRegister(const char* name, AtByte type, int blend_mode = AI_AOV_BLEND_NONE);
96 
97 /*\}*/

© 2009-2013 Solid Angle SL · all rights reserved · www.solidangle.com