ai_shaderglobals.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_params.h"
13 #include "ai_array.h"
14 #include "ai_color.h"
15 #include "ai_matrix.h"
16 #include "ai_vector.h"
17 #include "ai_types.h"
18 #include "ai_api.h"
19 
20 // forward declarations
21 struct AtNode;
22 struct AtBucket;
23 struct AtShaderGlobalsPrivateInfo;
24 
39 typedef struct AtShaderGlobals {
40  int x;
41  int y;
42  float sx;
43  float sy;
48  float we;
52  double Rl;
59  bool fhemi;
60  float time;
66  AtBucket* bkt;
76  float bu;
77  float bv;
78  float u;
79  float v;
84  int nlights;
85  float Ldist;
92  float area;
101  float dudx;
102  float dudy;
103  float dvdx;
104  float dvdy;
108  bool skip_shadow;
110  const char* traceset;
112  AtShaderGlobalsPrivateInfo* privateinfo;
114 
121 #define AI_CONTEXT_SURFACE 0x00
122 #define AI_CONTEXT_VOLUME 0x01
123 #define AI_CONTEXT_BACKGROUND 0x02
124 #define AI_CONTEXT_DISPLACEMENT 0x03
125 /* \}*/
126 
128 AI_API void AiShaderGlobalsDestroy(AtShaderGlobals* sg);
129 
130 /*\}*/

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