HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
RE_Uniform.h
Go to the documentation of this file.
1
/*
2
* PROPRIETARY INFORMATION. This software is proprietary to
3
* Side Effects Software Inc., and is not to be reproduced,
4
* transmitted, or disclosed in any way without written permission.
5
*
6
* NAME: RE_Uniform.h (Library, C++)
7
*
8
* COMMENTS:
9
*/
10
11
#ifndef __RE_Uniform__
12
#define __RE_Uniform__
13
14
#include "
RE_API.h
"
15
16
#include <
UT/UT_Color.h
>
17
#include <
UT/UT_String.h
>
18
#include <
UT/UT_LinkList.h
>
19
#include "
RE_Types.h
"
20
#include "
RE_UniformNames.h
"
21
22
class
RE_Render
;
23
class
RE_Shader
;
24
25
// The members of this enumeration are used as indices into
26
// re_BuiltInUniform::theUniforms. Thus, changing this enumeration requires
27
// updating re_BuiltInUniform::theUniforms.
28
enum
RE_UniformBuiltIn
29
{
30
RE_UNIFORM_EMISSION
= 0,
31
RE_UNIFORM_SPECULAR
,
32
RE_UNIFORM_DIFFUSE
,
33
RE_UNIFORM_AMBIENT
,
34
35
RE_UNIFORM_MATERIAL_PASS
,
36
RE_UNIFORM_ALPHA_PASS
,
37
RE_UNIFORM_RENDER_PASS
,
38
RE_UNIFORM_MATERIAL_LAYER
,
39
RE_UNIFORM_MATERIAL_GROUP
,
40
RE_UNIFORM_MATERIAL_MASK
,
41
RE_UNIFORM_ALPHA_CUTOFF
,
42
RE_UNIFORM_SPLIT_GROUP
,
43
RE_UNIFORM_ONION_SKIN_GROUP
,
44
45
RE_UNIFORM_GHOST_COLOR
,
46
RE_UNIFORM_SELECT_COLOR
,
47
RE_UNIFORM_SELECT_SECOND_COLOR
,
48
RE_UNIFORM_SELECT_MODE
,
49
RE_UNIFORM_SELECT_INSTANCE
,
50
RE_UNIFORM_FILL_SELECTION
,
51
RE_UNIFORM_COVERAGE_MASK
,
52
53
RE_UNIFORM_LIGHTING_ENABLED
,
54
RE_UNIFORM_LIGHT_MASK
,
55
RE_UNIFORM_REFLECT_ORIGIN
,
56
RE_UNIFORM_SCENE_IOR
,
57
58
RE_UNIFORM_VIEW_MATRIX
,
59
RE_UNIFORM_INV_VIEW_MATRIX
,
60
RE_UNIFORM_OBJECT_MATRIX
,
61
RE_UNIFORM_INV_OBJECT_MATRIX
,
62
RE_UNIFORM_NORMAL_MATRIX
,
63
RE_UNIFORM_PROJECT_MATRIX
,
64
RE_UNIFORM_INV_PROJECT_MATRIX
,
65
RE_UNIFORM_OBJVIEW_MATRIX
,
66
RE_UNIFORM_SCREEN_SIZE
,
67
RE_UNIFORM_SAMPLES
,
68
RE_UNIFORM_IS_ORTHO
,
69
70
RE_UNIFORM_USE_DEPTH_MAP
,
71
RE_UNIFORM_DEPTH_MAP
,
72
RE_UNIFORM_DEPTH_PROJECT
,
73
RE_UNIFORM_DEPTH_RANGE
,
74
RE_UNIFORM_DEPTH_OFFSET
,
75
76
RE_UNIFORM_WIRE_OVER
,
77
RE_UNIFORM_WIRE_COLOR
,
78
RE_UNIFORM_WIRE_THICKNESS
,
79
RE_UNIFORM_CONST_COLOR
,
80
RE_UNIFORM_CONST_COLOR_MAP
,
81
RE_UNIFORM_USE_CONST_COLOR_MAP
,
82
83
RE_UNIFORM_DECORATION_SCALE
,
84
RE_UNIFORM_DECORATION_FONT_PARMS
,
85
RE_UNIFORM_DECORATION_VISIBILITY
,
86
RE_UNIFORM_DECORATION_LOCATE
,
87
RE_UNIFORM_DECORATION_INSTANCE
,
88
89
RE_UNIFORM_PRIM_DIVISOR
,
90
RE_UNIFORM_PRIM_BASE
,
91
RE_UNIFORM_VERTEX_OFFSET
,
92
RE_UNIFORM_SELECTION_BASE
,
93
RE_UNIFORM_INSTANCE_BASE
,
94
RE_UNIFORM_PRIM_CONSTANT_ID
,
95
RE_UNIFORM_USE_INSTANCE_PRIM_ID
,
96
97
RE_UNIFORM_PICK_BASE_ID
,
98
RE_UNIFORM_PICK_COMPONENT_ID
,
99
RE_UNIFORM_PICK_AREA
,
100
RE_UNIFORM_PICK_HAS_MAP
,
101
RE_UNIFORM_PICK_MAP
,
102
RE_UNIFORM_PICK_BUFFER_INFO
,
103
RE_UNIFORM_PICK_BUFFER
,
104
RE_UNIFORM_SNAP_DISTANCES
,
105
RE_UNIFORM_SNAP_PARMS
,
106
107
RE_UNIFORM_COLOR_RAMP
,
108
RE_UNIFORM_COLOR_RAMP_ENABLE
,
109
RE_UNIFORM_COLOR_RANGE
,
110
RE_UNIFORM_COLOR_IGNORE_GEO
,
111
112
RE_UNIFORM_UV_FILL_BACKFACES
,
113
RE_UNIFORM_UV_BACKFACES_COLOR
,
114
RE_UNIFORM_UV_BACKFACES_SEL_COLOR
,
115
RE_UNIFORM_UV_FILL_ALPHA
,
116
117
RE_UNIFORM_MAX_LOCATED_ID
,
118
RE_UNIFORM_MIN_LOCATED_ID
,
119
RE_UNIFORM_USE_LOCATED_MAP
,
120
RE_UNIFORM_LOCATED_MAP
,
121
122
RE_UNIFORM_NUM_BONE_TRANSFORMS
,
123
124
RE_UNIFORM_COLOR_XFORM
,
125
RE_UNIFORM_COLOR_XFORM_REF_VEC
,
126
127
RE_UNIFORM_DEPTH_OCCLUSION
,
128
129
RE_UNIFORM_VISIBLE_FLAG
,
130
131
RE_UNIFORM_BUILT_IN__count
132
};
133
#define RE_UNIFORM_CUSTOM RE_UNIFORM_BUILT_IN__count
134
135
// RE_Uniform::typeTypeSizes expects this ordering. If you modify this
136
// enumeration, make sure that you also modify 'theTypeSizes' initialization.
137
enum
RE_UniformType
138
{
139
RE_UNIFORM_INVALID
= -1,
140
RE_UNIFORM_FLOAT
= 0,
141
RE_UNIFORM_FLOAT_VEC2
,
142
RE_UNIFORM_FLOAT_VEC3
,
143
RE_UNIFORM_FLOAT_VEC4
,
144
RE_UNIFORM_DOUBLE
,
145
RE_UNIFORM_DOUBLE_VEC2
,
146
RE_UNIFORM_DOUBLE_VEC3
,
147
RE_UNIFORM_DOUBLE_VEC4
,
148
RE_UNIFORM_INT
,
149
RE_UNIFORM_INT_VEC2
,
150
RE_UNIFORM_INT_VEC3
,
151
RE_UNIFORM_INT_VEC4
,
152
RE_UNIFORM_UNSIGNED_INT
,
153
RE_UNIFORM_UNSIGNED_INT_VEC2
,
154
RE_UNIFORM_UNSIGNED_INT_VEC3
,
155
RE_UNIFORM_UNSIGNED_INT_VEC4
,
156
RE_UNIFORM_UNSIGNED_INT64
,
157
RE_UNIFORM_BOOL
,
158
RE_UNIFORM_BOOL_VEC2
,
159
RE_UNIFORM_BOOL_VEC3
,
160
RE_UNIFORM_BOOL_VEC4
,
161
RE_UNIFORM_FLOAT_MAT2
,
162
RE_UNIFORM_FLOAT_MAT3
,
163
RE_UNIFORM_FLOAT_MAT4
,
164
RE_UNIFORM_DOUBLE_MAT2
,
165
RE_UNIFORM_DOUBLE_MAT3
,
166
RE_UNIFORM_DOUBLE_MAT4
,
167
RE_UNIFORM_SAMPLER_1D
,
168
RE_UNIFORM_SAMPLER_2D
,
169
RE_UNIFORM_SAMPLER_3D
,
170
RE_UNIFORM_SAMPLER_CUBE
,
171
RE_UNIFORM_SAMPLER_RECTANGLE
,
172
RE_UNIFORM_SAMPLER_1D_ARRAY
,
173
RE_UNIFORM_SAMPLER_2D_ARRAY
,
174
RE_UNIFORM_SAMPLER_CUBE_ARRAY
,
175
RE_UNIFORM_SAMPLER_2D_MULTISAMPLE
,
176
RE_UNIFORM_SAMPLER_2D_SHADOW
,
177
RE_UNIFORM_SAMPLER_BUFFER
,
178
RE_UNIFORM_INT_SAMPLER_BUFFER
,
179
RE_UNIFORM_UNSIGNED_INT_SAMPLER_BUFFER
,
180
RE_UNIFORM_IMAGE_1D
,
181
RE_UNIFORM_IMAGE_2D
,
182
RE_UNIFORM_IMAGE_3D
,
183
RE_UNIFORM_IMAGE_CUBE
,
184
RE_UNIFORM_IMAGE_RECTANGLE
,
185
RE_UNIFORM_IMAGE_BUFFER
,
186
RE_UNIFORM_IMAGE_1D_ARRAY
,
187
RE_UNIFORM_IMAGE_2D_ARRAY
,
188
RE_UNIFORM_IMAGE_CUBE_MAP_ARRAY
,
189
RE_UNIFORM_IMAGE_2D_MULTISAMPLE
,
190
RE_UNIFORM_IMAGE_2D_MULTISAMPLE_ARRAY
,
191
RE_UNIFORM_IMAGE_INT_1D
,
192
RE_UNIFORM_IMAGE_INT_2D
,
193
RE_UNIFORM_IMAGE_INT_3D
,
194
RE_UNIFORM_IMAGE_INT_RECTANGLE
,
195
RE_UNIFORM_IMAGE_INT_CUBE
,
196
RE_UNIFORM_IMAGE_INT_BUFFER
,
197
RE_UNIFORM_IMAGE_INT_1D_ARRAY
,
198
RE_UNIFORM_IMAGE_INT_2D_ARRAY
,
199
RE_UNIFORM_IMAGE_INT_CUBE_MAP_ARRAY
,
200
RE_UNIFORM_IMAGE_INT_2D_MULTISAMPLE
,
201
RE_UNIFORM_IMAGE_INT_2D_MULTISAMPLE_ARRAY
,
202
RE_UNIFORM_IMAGE_UINT_1D
,
203
RE_UNIFORM_IMAGE_UINT_2D
,
204
RE_UNIFORM_IMAGE_UINT_3D
,
205
RE_UNIFORM_IMAGE_UINT_RECTANGLE
,
206
RE_UNIFORM_IMAGE_UINT_CUBE
,
207
RE_UNIFORM_IMAGE_UINT_BUFFER
,
208
RE_UNIFORM_IMAGE_UINT_1D_ARRAY
,
209
RE_UNIFORM_IMAGE_UINT_2D_ARRAY
,
210
RE_UNIFORM_IMAGE_UINT_CUBE_MAP_ARRAY
,
211
RE_UNIFORM_IMAGE_UINT_2D_MULTISAMPLE
,
212
RE_UNIFORM_IMAGE_UINT_2D_MULTISAMPLE_ARRAY
,
213
214
RE_UNIFORM_TYPE__count
215
};
216
217
class
RE_UniformStackEntry
;
218
219
class
RE_API
RE_Uniform
:
public
UT_LinkNode
220
{
221
public
:
222
// 'size' is the array size.
223
RE_Uniform
(
const
char
*
name
,
RE_UniformType
type
,
int
size
= 1);
224
RE_Uniform
(
RE_UniformBuiltIn
built_in,
int
size
);
225
~
RE_Uniform
()
override
;
226
227
bool
operator==
(
const
RE_Uniform
&uniform)
const
;
228
229
// Removes the array subscript "[]" from the end of 'name' if there is one
230
// and stores the result in 'out'.
231
static
void
getArrayNameAndIndex(
const
char
*str,
232
UT_String
&name_out,
233
int
*index_out);
234
235
// Appends an array subscript to the name of this uniform and stores the
236
// result in 'out'. Only call this method for array uniforms.
237
void
getIndexedName(
int
index
,
UT_WorkBuffer
&out)
const
;
238
//void getIndexedName(int index, UT_String &out)const;
239
240
const
UT_StringHolder
&
getName
()
const
{
return
myName; }
241
242
// getSize() returns the array size or 1 if this uniform is not an array.
243
// Note that GLSL allows arrays of size 1 so this method cannot be used
244
// to determine whether or not this uniform is an array.
245
int
getSize
()
const
{
return
myArraySize; }
246
RE_UniformType
getType
()
const
{
return
myType; }
247
RE_UniformBuiltIn
getBuiltInType
()
const
{
return
myUniformType; }
248
int
getByteSize
()
const
{
return
myValueBytes; }
249
250
// Get/set the value of this uniform. If this uniform is an array
251
// then 'index' specifies which array element value to return/set;
252
// otherwise, its ignored.
253
const
void
*getValue(
int
index=0)
const
;
254
bool
setValue(
const
void
*
value
,
int
index=0);
255
bool
setValues(
const
void
*
value
);
256
257
// Return the color or alpha for (R,G,B,A) color values. Will assert if the
258
// uniform is not a color.
259
UT_Color
getColor(
int
index=0)
const
;
260
fpreal
getAlpha(
int
index=0)
const
;
261
262
UT_Vector2F
getVector2(
int
index=0)
const
;
263
UT_Vector3F
getVector3(
int
index=0)
const
;
264
UT_Vector4F
getVector4(
int
index=0)
const
;
265
266
UT_Matrix3D
getMatrix3(
int
index=0)
const
;
267
UT_Matrix4D
getMatrix4(
int
index=0)
const
;
268
269
// Copy the values of 'copy' into this uniform. The type and size must
270
// match. Returns true if the value changed.
271
bool
copy
(
const
RE_Uniform
*
copy
);
272
273
// Copy the values in data into this uniform. The array must be at least
274
// as large as the value returned by getByteSize(). Returns true if the
275
// value changed.
276
bool
copyBytes(
const
void
*
data
);
277
278
// The version is incremented whenever the value of this uniform is
279
// changed. The version starts at 0.
280
int
getVersion
()
const
{
return
myVersion; }
281
282
void
setAutoGenerated
(
bool
gen
=
true
)
283
{ myAutoGeneratedFlag =
gen
; }
284
bool
isAutoGenerated
()
const
{
return
myAutoGeneratedFlag;}
285
286
// Returns an element of RE_UniformBuiltIn if the specified uniform's
287
// type, size, and name match the RE_UniformBuiltIn's type, size, and
288
// name and the uniform is supported for the specified language; otherwise,
289
// returns -1.
290
static
int
getBuiltIn(
const
RE_Uniform
*uniform,
291
int
languages =
292
RE_SHADER_LANGUAGE_ALL
);
293
static
int
getBuiltIn(
const
UT_StringHolder
&name,
294
RE_UniformType
type,
295
int
languages =
296
RE_SHADER_LANGUAGE_ALL
);
297
298
// Static member functions for retrieving information about built-in
299
// uniforms.
300
static
const
char
*getBuiltInName(
RE_UniformBuiltIn
built_in);
301
static
RE_UniformType
getBuiltInType(
RE_UniformBuiltIn
built_in);
302
303
static
void
initBuiltIns();
304
305
// Specify that a given uniform object should represent a given built-in
306
// uniform. After a built-in has been registered, calling getBuiltIn(int)
307
// returns the registered uniform object. By specifying a uniform object
308
// when calling unregisterBuilInt(), the built-in will only be unregistered
309
// if the currently registered uniform object matches the specified object.
310
static
void
registerBuiltIn(
RE_Render
*
r
,
311
RE_UniformBuiltIn
built_in,
312
const
RE_Uniform
&uniform);
313
314
// A convenience version for single-index variables. 'data' must match the
315
// uniform's data type.
316
static
void
registerBuiltIn(
RE_Render
*
r
,
317
RE_UniformBuiltIn
built_in,
318
const
void
*
data
= NULL);
319
320
// Assign a new value to a previous registered uniform.
321
static
bool
assignBuiltIn(
RE_Render
*
r
,
322
RE_UniformBuiltIn
built_in,
323
const
void
*
data
);
324
325
// Assign a range of values to a previously registered uniform array.
326
// Element zero passed in 'data' always corresponds to element 'start' in
327
// the uniform.
328
static
bool
assignBuiltInArray(
RE_Render
*
r
,
329
RE_UniformBuiltIn
built_in,
330
const
void
*
data
,
331
int
start
,
332
int
num
);
333
334
// Remove the uniform. If registerBuiltIn was called, the unform is unbound
335
// only. If assignBuiltIn was called, the uniform is unbound and deleted.
336
static
void
unregisterBuiltIn(
RE_Render
*
r
,
337
RE_UniformBuiltIn
built_in);
338
339
void
print
()
const
;
340
341
// For RE_Shader - caching of uniform index in the uniform.
342
void
storeShaderUniformIndex(
const
RE_Shader
*sh,
343
int
index)
const
;
344
int
getShaderUniformIndex(
const
RE_Shader
*sh)
const
;
345
346
void
copyTo(
RE_UniformStackEntry
&entry)
const
;
347
void
copyFrom(
const
RE_UniformStackEntry
&entry);
348
349
350
static
int
getVectorSize(
RE_UniformType
type);
351
static
bool
isFloat(
RE_UniformType
type);
352
static
bool
isInt(
RE_UniformType
type);
353
static
bool
isSampler(
RE_UniformType
type);
354
static
bool
isImage
(
RE_UniformType
type);
355
356
private
:
357
static
const
int
theTypeSizes[
RE_UNIFORM_TYPE__count
];
358
UT_StringHolder
myName;
359
RE_UniformType
myType;
360
int
myArraySize;
361
int
myValueBytes;
362
int
myVersion;
363
char
*myValues;
364
bool
myAutoGeneratedFlag;
365
RE_UniformBuiltIn
myUniformType;
366
367
// uniform index caching
368
mutable
int
myStoredIndex;
369
mutable
int
myStoredShaderSerial;
370
mutable
const
void
*myStoredShader;
// void *, ptr compare only
371
};
372
373
class
RE_UniformStackEntry
374
{
375
public
:
376
RE_UniformStackEntry
()
377
:
myByteSize
(0),
myArraySize
(0),
myVersion
(0),
myData
(NULL) {}
378
~RE_UniformStackEntry
()
379
{
380
if
(
myData
)
381
free(
myData
);
382
}
383
384
void
*
myData
;
385
int
myVersion
;
386
int
myArraySize
;
387
int
myByteSize
;
388
};
389
390
#endif
RE_UniformStackEntry::RE_UniformStackEntry
RE_UniformStackEntry()
Definition:
RE_Uniform.h:376
RE_UNIFORM_UNSIGNED_INT_SAMPLER_BUFFER
Definition:
RE_Uniform.h:179
RE_UNIFORM_PICK_BUFFER
Definition:
RE_Uniform.h:103
RE_UNIFORM_SELECT_INSTANCE
Definition:
RE_Uniform.h:49
RE_Uniform::getType
RE_UniformType getType() const
Definition:
RE_Uniform.h:246
UT_Matrix3T< fpreal64 >
RE_UNIFORM_BOOL_VEC3
Definition:
RE_Uniform.h:159
RE_Uniform::getBuiltInType
RE_UniformBuiltIn getBuiltInType() const
Definition:
RE_Uniform.h:247
RE_UNIFORM_USE_INSTANCE_PRIM_ID
Definition:
RE_Uniform.h:95
RE_UNIFORM_FLOAT_MAT3
Definition:
RE_Uniform.h:162
RE_UNIFORM_SAMPLER_2D_MULTISAMPLE
Definition:
RE_Uniform.h:175
UT_Matrix4T< fpreal64 >
RE_UNIFORM_IMAGE_UINT_1D
Definition:
RE_Uniform.h:202
RE_UNIFORM_VIEW_MATRIX
Definition:
RE_Uniform.h:58
RE_UNIFORM_BOOL_VEC2
Definition:
RE_Uniform.h:158
RE_UNIFORM_IMAGE_INT_RECTANGLE
Definition:
RE_Uniform.h:194
RE_UNIFORM_SELECT_COLOR
Definition:
RE_Uniform.h:46
RE_UNIFORM_OBJVIEW_MATRIX
Definition:
RE_Uniform.h:65
size
GLsizeiptr size
Definition:
glew.h:1681
RE_Uniform
Definition:
RE_Uniform.h:219
RE_API.h
name
GLuint const GLchar * name
Definition:
glew.h:1814
RE_UNIFORM_IMAGE_UINT_CUBE
Definition:
RE_Uniform.h:206
UT_WorkBuffer
Definition:
UT_WorkBuffer.h:59
RE_UNIFORM_DECORATION_FONT_PARMS
Definition:
RE_Uniform.h:84
RE_UNIFORM_FLOAT_VEC4
Definition:
RE_Uniform.h:143
RE_UNIFORM_IMAGE_UINT_BUFFER
Definition:
RE_Uniform.h:207
RE_API
#define RE_API
Definition:
RE_API.h:10
RE_UNIFORM_INT_SAMPLER_BUFFER
Definition:
RE_Uniform.h:178
RE_UNIFORM_IMAGE_RECTANGLE
Definition:
RE_Uniform.h:184
RE_UNIFORM_IMAGE_2D_MULTISAMPLE_ARRAY
Definition:
RE_Uniform.h:190
RE_UNIFORM_DIFFUSE
Definition:
RE_Uniform.h:32
RE_UNIFORM_SAMPLER_1D_ARRAY
Definition:
RE_Uniform.h:172
index
GLuint index
Definition:
glew.h:1814
RE_UNIFORM_IMAGE_INT_3D
Definition:
RE_Uniform.h:193
RE_UNIFORM_COVERAGE_MASK
Definition:
RE_Uniform.h:51
RE_UNIFORM_LIGHT_MASK
Definition:
RE_Uniform.h:54
RE_UNIFORM_INT_VEC2
Definition:
RE_Uniform.h:149
RE_UNIFORM_LOCATED_MAP
Definition:
RE_Uniform.h:120
RE_UNIFORM_EMISSION
Definition:
RE_Uniform.h:30
RE_UNIFORM_FILL_SELECTION
Definition:
RE_Uniform.h:50
RE_UNIFORM_USE_DEPTH_MAP
Definition:
RE_Uniform.h:70
RE_UNIFORM_SAMPLER_BUFFER
Definition:
RE_Uniform.h:177
RE_UNIFORM_COLOR_RAMP
Definition:
RE_Uniform.h:107
RE_UNIFORM_DECORATION_SCALE
Definition:
RE_Uniform.h:83
RE_UNIFORM_IMAGE_INT_2D_ARRAY
Definition:
RE_Uniform.h:198
RE_UNIFORM_IMAGE_2D_MULTISAMPLE
Definition:
RE_Uniform.h:189
RE_UNIFORM_IMAGE_INT_2D_MULTISAMPLE_ARRAY
Definition:
RE_Uniform.h:201
RE_UNIFORM_DOUBLE_MAT4
Definition:
RE_Uniform.h:166
RE_UNIFORM_CONST_COLOR
Definition:
RE_Uniform.h:79
RE_UNIFORM_DEPTH_OCCLUSION
Definition:
RE_Uniform.h:127
RE_Uniform::isAutoGenerated
bool isAutoGenerated() const
Definition:
RE_Uniform.h:284
RE_UNIFORM_MAX_LOCATED_ID
Definition:
RE_Uniform.h:117
RE_Uniform::setAutoGenerated
void setAutoGenerated(bool gen=true)
Definition:
RE_Uniform.h:282
RE_UNIFORM_PICK_HAS_MAP
Definition:
RE_Uniform.h:100
RE_UNIFORM_SAMPLER_CUBE
Definition:
RE_Uniform.h:170
RE_UNIFORM_DEPTH_RANGE
Definition:
RE_Uniform.h:73
RE_UNIFORM_COLOR_XFORM
Definition:
RE_Uniform.h:124
RE_UniformType
RE_UniformType
Definition:
RE_Uniform.h:137
RE_UNIFORM_DECORATION_LOCATE
Definition:
RE_Uniform.h:86
RE_UNIFORM_UV_FILL_ALPHA
Definition:
RE_Uniform.h:115
RE_UNIFORM_PICK_BUFFER_INFO
Definition:
RE_Uniform.h:102
RE_UNIFORM_PRIM_BASE
Definition:
RE_Uniform.h:90
UT_Vector3T< fpreal32 >
RE_UNIFORM_CONST_COLOR_MAP
Definition:
RE_Uniform.h:80
UT_Vector4T< fpreal32 >
UT_Vector2T< fpreal32 >
RE_UNIFORM_MATERIAL_GROUP
Definition:
RE_Uniform.h:39
RE_UNIFORM_MATERIAL_MASK
Definition:
RE_Uniform.h:40
RE_UNIFORM_USE_LOCATED_MAP
Definition:
RE_Uniform.h:119
RE_UNIFORM_UV_FILL_BACKFACES
Definition:
RE_Uniform.h:112
RE_UNIFORM_IMAGE_UINT_RECTANGLE
Definition:
RE_Uniform.h:205
RE_UNIFORM_COLOR_RAMP_ENABLE
Definition:
RE_Uniform.h:108
RE_UNIFORM_AMBIENT
Definition:
RE_Uniform.h:33
RE_UNIFORM_BUILT_IN__count
Definition:
RE_Uniform.h:131
RE_UNIFORM_IMAGE_UINT_2D
Definition:
RE_Uniform.h:203
RE_UNIFORM_SCENE_IOR
Definition:
RE_Uniform.h:56
RE_UNIFORM_FLOAT
Definition:
RE_Uniform.h:140
RE_SHADER_LANGUAGE_ALL
Definition:
RE_Types.h:246
RE_UNIFORM_INSTANCE_BASE
Definition:
RE_Uniform.h:93
RE_UNIFORM_COLOR_XFORM_REF_VEC
Definition:
RE_Uniform.h:125
RE_UNIFORM_IMAGE_UINT_CUBE_MAP_ARRAY
Definition:
RE_Uniform.h:210
RE_UNIFORM_IMAGE_BUFFER
Definition:
RE_Uniform.h:185
RE_UNIFORM_INV_PROJECT_MATRIX
Definition:
RE_Uniform.h:64
RE_UNIFORM_COLOR_IGNORE_GEO
Definition:
RE_Uniform.h:110
RE_UNIFORM_BOOL_VEC4
Definition:
RE_Uniform.h:160
RE_UNIFORM_LIGHTING_ENABLED
Definition:
RE_Uniform.h:53
UT_String.h
Alembic::Util::ALEMBIC_VERSION_NS::operator==
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition:
Dimensions.h:137
RE_UNIFORM_IMAGE_CUBE
Definition:
RE_Uniform.h:183
UT_StringHolder
Definition:
UT_StringHolder.h:1008
RE_UNIFORM_OBJECT_MATRIX
Definition:
RE_Uniform.h:60
RE_UNIFORM_BOOL
Definition:
RE_Uniform.h:157
RE_UNIFORM_DEPTH_OFFSET
Definition:
RE_Uniform.h:74
RE_UNIFORM_IMAGE_3D
Definition:
RE_Uniform.h:182
RE_UNIFORM_UNSIGNED_INT
Definition:
RE_Uniform.h:152
RE_UniformNames.h
RE_UNIFORM_SELECT_MODE
Definition:
RE_Uniform.h:48
RE_UNIFORM_DOUBLE
Definition:
RE_Uniform.h:144
data
GLint GLenum GLsizei GLint GLsizei const void * data
Definition:
glew.h:1379
RE_UNIFORM_PRIM_DIVISOR
Definition:
RE_Uniform.h:89
UT_Color
Definition:
UT_Color.h:85
RE_UNIFORM_SPLIT_GROUP
Definition:
RE_Uniform.h:42
RE_UNIFORM_IMAGE_1D
Definition:
RE_Uniform.h:180
RE_UNIFORM_IMAGE_2D
Definition:
RE_Uniform.h:181
RE_UNIFORM_IMAGE_UINT_2D_MULTISAMPLE
Definition:
RE_Uniform.h:211
RE_Render
Definition:
RE_Render.h:33
RE_UNIFORM_FLOAT_MAT4
Definition:
RE_Uniform.h:163
GA_Names::gen
GA_API const UT_StringHolder gen
RE_UNIFORM_WIRE_OVER
Definition:
RE_Uniform.h:76
RE_UNIFORM_VISIBLE_FLAG
Definition:
RE_Uniform.h:129
RE_UNIFORM_DOUBLE_VEC2
Definition:
RE_Uniform.h:145
RE_UNIFORM_IMAGE_INT_CUBE_MAP_ARRAY
Definition:
RE_Uniform.h:199
RE_UNIFORM_UNSIGNED_INT_VEC3
Definition:
RE_Uniform.h:154
RE_UNIFORM_DECORATION_INSTANCE
Definition:
RE_Uniform.h:87
RE_UNIFORM_FLOAT_VEC2
Definition:
RE_Uniform.h:141
RE_UNIFORM_IMAGE_INT_2D
Definition:
RE_Uniform.h:192
RE_UNIFORM_MATERIAL_PASS
Definition:
RE_Uniform.h:35
RE_UNIFORM_IMAGE_INT_BUFFER
Definition:
RE_Uniform.h:196
RE_UNIFORM_UNSIGNED_INT_VEC2
Definition:
RE_Uniform.h:153
RE_UniformBuiltIn
RE_UniformBuiltIn
Definition:
RE_Uniform.h:28
RE_UNIFORM_PRIM_CONSTANT_ID
Definition:
RE_Uniform.h:94
RE_Types.h
RE_UNIFORM_ALPHA_PASS
Definition:
RE_Uniform.h:36
RE_UNIFORM_USE_CONST_COLOR_MAP
Definition:
RE_Uniform.h:81
RE_UNIFORM_IMAGE_INT_1D
Definition:
RE_Uniform.h:191
RE_UNIFORM_UV_BACKFACES_SEL_COLOR
Definition:
RE_Uniform.h:114
RE_UNIFORM_DEPTH_MAP
Definition:
RE_Uniform.h:71
type
GLuint GLuint GLsizei GLenum type
Definition:
glew.h:1253
RE_UniformStackEntry::myArraySize
int myArraySize
Definition:
RE_Uniform.h:386
RE_UNIFORM_SAMPLER_1D
Definition:
RE_Uniform.h:167
RE_UNIFORM_MATERIAL_LAYER
Definition:
RE_Uniform.h:38
RE_Shader
Definition:
RE_Shader.h:60
RE_UNIFORM_TYPE__count
Definition:
RE_Uniform.h:214
RE_UNIFORM_SAMPLER_3D
Definition:
RE_Uniform.h:169
RE_Uniform::getSize
int getSize() const
Definition:
RE_Uniform.h:245
start
GLuint start
Definition:
glew.h:1253
RE_UNIFORM_GHOST_COLOR
Definition:
RE_Uniform.h:45
RE_UNIFORM_SPECULAR
Definition:
RE_Uniform.h:31
UT_LinkList.h
RE_UNIFORM_PICK_BASE_ID
Definition:
RE_Uniform.h:97
RE_UNIFORM_INT_VEC4
Definition:
RE_Uniform.h:151
RE_UNIFORM_IMAGE_UINT_3D
Definition:
RE_Uniform.h:204
RE_UNIFORM_UNSIGNED_INT_VEC4
Definition:
RE_Uniform.h:155
RE_UNIFORM_NUM_BONE_TRANSFORMS
Definition:
RE_Uniform.h:122
RE_UNIFORM_FLOAT_VEC3
Definition:
RE_Uniform.h:142
RE_UNIFORM_PROJECT_MATRIX
Definition:
RE_Uniform.h:63
RE_UNIFORM_SAMPLES
Definition:
RE_Uniform.h:67
RE_UNIFORM_IMAGE_2D_ARRAY
Definition:
RE_Uniform.h:187
RE_UNIFORM_INT
Definition:
RE_Uniform.h:148
RE_UniformStackEntry::myVersion
int myVersion
Definition:
RE_Uniform.h:385
RE_UNIFORM_IMAGE_1D_ARRAY
Definition:
RE_Uniform.h:186
RE_UNIFORM_INV_OBJECT_MATRIX
Definition:
RE_Uniform.h:61
RE_UNIFORM_DECORATION_VISIBILITY
Definition:
RE_Uniform.h:85
num
GLuint num
Definition:
glew.h:2690
RE_UNIFORM_ONION_SKIN_GROUP
Definition:
RE_Uniform.h:43
RE_UNIFORM_RENDER_PASS
Definition:
RE_Uniform.h:37
fpreal
fpreal64 fpreal
Definition:
SYS_Types.h:277
RE_Uniform::getByteSize
int getByteSize() const
Definition:
RE_Uniform.h:248
RE_UNIFORM_SELECT_SECOND_COLOR
Definition:
RE_Uniform.h:47
RE_UNIFORM_IMAGE_UINT_2D_MULTISAMPLE_ARRAY
Definition:
RE_Uniform.h:212
RE_UNIFORM_IMAGE_INT_2D_MULTISAMPLE
Definition:
RE_Uniform.h:200
RE_UNIFORM_SAMPLER_CUBE_ARRAY
Definition:
RE_Uniform.h:174
RE_Uniform::getName
const UT_StringHolder & getName() const
Definition:
RE_Uniform.h:240
RE_UNIFORM_COLOR_RANGE
Definition:
RE_Uniform.h:109
RE_UNIFORM_SAMPLER_2D_ARRAY
Definition:
RE_Uniform.h:173
r
GLdouble GLdouble GLdouble r
Definition:
glew.h:1406
Filesystem::copy
OIIO_API bool copy(string_view from, string_view to, std::string &err)
RE_UNIFORM_WIRE_THICKNESS
Definition:
RE_Uniform.h:78
RE_UNIFORM_DOUBLE_VEC4
Definition:
RE_Uniform.h:147
RE_UNIFORM_INVALID
Definition:
RE_Uniform.h:139
RE_UNIFORM_PICK_MAP
Definition:
RE_Uniform.h:101
RE_UNIFORM_DOUBLE_MAT3
Definition:
RE_Uniform.h:165
RE_UNIFORM_DEPTH_PROJECT
Definition:
RE_Uniform.h:72
RE_UNIFORM_FLOAT_MAT2
Definition:
RE_Uniform.h:161
isImage
IMF_EXPORT bool isImage(const std::string &name)
RE_UNIFORM_IMAGE_UINT_2D_ARRAY
Definition:
RE_Uniform.h:209
RE_UNIFORM_IMAGE_UINT_1D_ARRAY
Definition:
RE_Uniform.h:208
UT_String
Definition:
UT_String.h:79
RE_UNIFORM_UV_BACKFACES_COLOR
Definition:
RE_Uniform.h:113
RE_UNIFORM_INT_VEC3
Definition:
RE_Uniform.h:150
RE_UNIFORM_DOUBLE_VEC3
Definition:
RE_Uniform.h:146
RE_UNIFORM_VERTEX_OFFSET
Definition:
RE_Uniform.h:91
RE_UNIFORM_REFLECT_ORIGIN
Definition:
RE_Uniform.h:55
RE_UNIFORM_PICK_AREA
Definition:
RE_Uniform.h:99
RE_UNIFORM_IMAGE_CUBE_MAP_ARRAY
Definition:
RE_Uniform.h:188
RE_UNIFORM_INV_VIEW_MATRIX
Definition:
RE_Uniform.h:59
RE_UniformStackEntry::~RE_UniformStackEntry
~RE_UniformStackEntry()
Definition:
RE_Uniform.h:378
RE_UniformStackEntry::myByteSize
int myByteSize
Definition:
RE_Uniform.h:387
RE_UNIFORM_SNAP_PARMS
Definition:
RE_Uniform.h:105
RE_UNIFORM_IS_ORTHO
Definition:
RE_Uniform.h:68
UT_LinkNode
Definition:
UT_LinkList.h:21
UT_Color.h
RE_UNIFORM_DOUBLE_MAT2
Definition:
RE_Uniform.h:164
RE_UNIFORM_ALPHA_CUTOFF
Definition:
RE_Uniform.h:41
RE_UNIFORM_SNAP_DISTANCES
Definition:
RE_Uniform.h:104
RE_UNIFORM_NORMAL_MATRIX
Definition:
RE_Uniform.h:62
RE_UNIFORM_IMAGE_INT_1D_ARRAY
Definition:
RE_Uniform.h:197
value
GLsizei const GLfloat * value
Definition:
glew.h:1849
RE_UNIFORM_SCREEN_SIZE
Definition:
RE_Uniform.h:66
RE_UNIFORM_SAMPLER_RECTANGLE
Definition:
RE_Uniform.h:171
RE_UniformStackEntry
Definition:
RE_Uniform.h:373
RE_UNIFORM_SELECTION_BASE
Definition:
RE_Uniform.h:92
RE_UNIFORM_SAMPLER_2D
Definition:
RE_Uniform.h:168
RE_UNIFORM_SAMPLER_2D_SHADOW
Definition:
RE_Uniform.h:176
RE_UNIFORM_PICK_COMPONENT_ID
Definition:
RE_Uniform.h:98
RE_UNIFORM_WIRE_COLOR
Definition:
RE_Uniform.h:77
RE_UNIFORM_MIN_LOCATED_ID
Definition:
RE_Uniform.h:118
RE_UniformStackEntry::myData
void * myData
Definition:
RE_Uniform.h:384
RE_UNIFORM_UNSIGNED_INT64
Definition:
RE_Uniform.h:156
RE_Uniform::getVersion
int getVersion() const
Definition:
RE_Uniform.h:280
RE_UNIFORM_IMAGE_INT_CUBE
Definition:
RE_Uniform.h:195
print
std::enable_if< internal::is_string< S >::value >::type print(std::basic_ostream< FMT_CHAR(S)> &os, const S &format_str, const Args &...args)
Definition:
ostream.h:146
RE
RE_Uniform.h
Generated on Sun Jan 17 2021 05:34:00 for HDK by
1.8.6