Main Page
Related Pages
Modules
Data Structures
core
include
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
;
44
AtUInt16
si
;
45
AtUInt16
i
;
46
AtUInt16
n
;
47
AtUInt16
Rt
;
48
float
we
;
49
AtUInt32
transp_index
;
50
AtPoint
Ro
;
51
AtVector
Rd
;
52
double
Rl
;
53
AtByte
tid
;
54
AtByte
Rr
;
55
AtByte
Rr_refl
;
56
AtByte
Rr_refr
;
57
AtByte
Rr_diff
;
58
AtByte
Rr_gloss
;
59
bool
fhemi
;
60
float
time
;
61
AtUInt32
fi
;
62
AtNode
*
Op
;
63
AtNode
*
proc
;
64
AtNode
*
shader
;
65
const
AtShaderGlobals
*
psg
;
66
AtBucket*
bkt
;
67
AtPoint
Po
;
68
AtPoint
P
;
69
AtVector
dPdx
;
70
AtVector
dPdy
;
71
AtVector
N
;
72
AtVector
Nf
;
73
AtVector
Ng
;
74
AtVector
Ngf
;
75
AtVector
Ns
;
76
float
bu
;
77
float
bv
;
78
float
u
;
79
float
v
;
80
AtMatrix
M
;
81
AtMatrix
Minv
;
82
AtNode
**
lights
;
83
AtNode
*
Lp
;
84
int
nlights
;
85
float
Ldist
;
86
AtVector
Ld
;
87
AtColor
Li
;
88
AtColor
Liu
;
89
AtColor
Lo
;
90
AtColor
Ci
;
91
AtColor
Vo
;
92
float
area
;
95
AtVector
dPdu
;
96
AtVector
dPdv
;
97
AtVector
dDdx
;
98
AtVector
dDdy
;
99
AtVector
dNdx
;
100
AtVector
dNdy
;
101
float
dudx
;
102
float
dudy
;
103
float
dvdx
;
104
float
dvdy
;
105
AtParamValue
out
;
106
AtColor
out_opacity
;
107
bool
inclusive_traceset
;
108
bool
skip_shadow
;
109
AtByte
sc
;
110
const
char
*
traceset
;
112
AtShaderGlobalsPrivateInfo*
privateinfo
;
113
}
AtShaderGlobals
;
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
127
AI_API
AtShaderGlobals
*
AiShaderGlobals
();
128
AI_API
void
AiShaderGlobalsDestroy
(
AtShaderGlobals
* sg);
129
130
/*\}*/
© 2009-2013 Solid Angle SL · all rights reserved · www.solidangle.com