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
RV_Type.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: RV_Type.h ( RV Library, C++)
7
*
8
* COMMENTS:
9
* shared types for RV library
10
*/
11
12
#ifndef RV_Type_h
13
#define RV_Type_h
14
15
#include "
RV_API.h
"
16
17
#include <
RE/RE_Types.h
>
18
#include <
RE/RE_TextureTypes.h
>
19
20
#include <
UT/UT_ComputeGPU.h
>
21
#include <
UT/UT_Matrix4.h
>
22
#include <
UT/UT_StringArray.h
>
23
#include <
UT/UT_SharedPtr.h
>
24
25
#include <
SYS/SYS_AtomicInt.h
>
26
27
// indices for specific Descriptor Sets
28
// must match shaders
29
enum
RV_SetType
30
{
31
RV_SET_GLOBAL
= 0,
32
RV_SET_OBJECT
= 1,
33
RV_SET_GEOMETRY
= 2,
34
RV_SET_MATERIAL
= 3,
35
RV_SET_SHADER
= 4,
36
RV_SET_NUM
= 8
37
};
38
39
40
enum
RV_GPUType
41
{
42
RV_GPU_UINT1
=
RE_GPU_UINT1
,
43
RV_GPU_UINT4
=
RE_GPU_UINT4
,
44
45
RV_GPU_UINT8
=
RE_GPU_UINT8
,
46
RV_GPU_UINT16
=
RE_GPU_UINT16
,
47
RV_GPU_UINT32
=
RE_GPU_UINT32
,
48
49
RV_GPU_INT8
=
RE_GPU_INT8
,
50
RV_GPU_INT16
=
RE_GPU_INT16
,
51
RV_GPU_INT32
=
RE_GPU_INT32
,
52
53
RV_GPU_FLOAT16
=
RE_GPU_FLOAT16
,
54
RV_GPU_FLOAT24
=
RE_GPU_FLOAT24
,
55
RV_GPU_FLOAT32
=
RE_GPU_FLOAT32
,
56
RV_GPU_FLOAT64
=
RE_GPU_FLOAT64
,
57
58
// These can only be used in the context of a GLSL shader.
59
RV_GPU_MATRIX2
=
RE_GPU_MATRIX2
,
60
RV_GPU_MATRIX3
=
RE_GPU_MATRIX3
,
61
RV_GPU_MATRIX4
=
RE_GPU_MATRIX4
,
62
63
RV_GPU_UNKNOWN
64
65
};
66
67
inline
RV_GPUType
RVgetFromREType
(
RE_GPUType
t
)
68
{
69
// Currently this is a pretty trivial transform.
70
return
RV_GPUType
(t);
71
}
72
73
inline
RE_GPUType
RVgetREType
(
RV_GPUType
t
)
74
{
75
// Currently this is a pretty trivial transform.
76
return
RE_GPUType
(t);
77
}
78
79
enum
RV_GraphicsDevice
80
{
81
RV_DEVICE_UNKNOWN
= 0x0,
82
83
RV_DEVICE_ATI
= 0x1,
84
RV_DEVICE_NVIDIA
= 0x2,
85
RV_DEVICE_INTEL_GMA
= 0x4,
// Intel GMA (not supported)
86
RV_DEVICE_INTEL_HD
= 0x8,
// Intel HD graphics
87
RV_DEVICE_GDI
= 0x10,
// Software OGL on Windows
88
RV_DEVICE_MESA
= 0x20,
89
90
RV_DEVICE_PRO
= 0x100,
// Professional series
91
RV_DEVICE_MAC
= 0x200,
// Mac versions of drivers
92
RV_DEVICE_MAC_SILICON
= 0x600,
// ARM-based Macs
93
94
RV_DEVICE_ATI_PRO
= (
RV_DEVICE_PRO
|
RV_DEVICE_ATI
),
// FireGL/Pro
95
RV_DEVICE_NVIDIA_PRO
= (
RV_DEVICE_PRO
|
RV_DEVICE_NVIDIA
),
// Quadro
96
RV_DEVICE_INTEL_PRO
= (
RV_DEVICE_PRO
|
RV_DEVICE_INTEL_HD
)
// n/a?
97
};
98
99
enum
RV_AttributeType
100
{
101
RV_ATTRIBUTE_POINT
= 0,
102
RV_ATTRIBUTE_VERTEX
,
103
RV_ATTRIBUTE_PRIMITIVE
,
104
// RV_ATTRIBUTE_INSTANCE,
105
RV_ATTRIBUTE_CONSTANT
,
106
RV_ATTRIBUTE_RANDOM
,
// randomly sampled NOTE: also used for INSTANCE-level
107
RV_ATTRIBUTE_NULL
,
108
};
109
110
111
enum
RV_MemType
112
{
113
RV_MEM_AUTO
= 0,
114
RV_MEM_MAPPABLE_UPLOAD
,
115
RV_MEM_MAPPABLE_UPLOAD_DEVICE_LOCAL
,
116
RV_MEM_MAPPABLE_HOST_CACHED
,
117
RV_MEM_OPENGL_EXPORTABLE
,
118
};
119
120
enum
RV_ImageDim
121
{
122
RV_IMAGE_UNKNOWN
= 0,
123
RV_IMAGE_1D
,
124
RV_IMAGE_2D
,
125
RV_IMAGE_3D
,
126
RV_IMAGE_CUBE
,
127
RV_IMAGE_2D_RECTANGLE
,
128
RV_IMAGE_1D_ARRAY
,
129
RV_IMAGE_2D_ARRAY
,
130
RV_IMAGE_CUBE_ARRAY
,
131
RV_IMAGE_BUFFER
,
132
133
RV_IMAGE_MAX_TYPE
134
};
135
136
enum
RV_TextureFilter
137
{
138
RV_FILTER_NEAREST
,
// no filtering
139
RV_FILTER_LINEAR
,
// bi-linear filtering
140
RV_FILTER_CUBIC
,
// bi-cubic filtering NOTE: requires extension
141
};
142
143
enum
RV_TextureMipMode
144
{
145
RV_MIPMAP_DISABLED
,
// No Mip filtering
146
RV_MIPMAP_NEAREST
,
// nearest mip level
147
RV_MIPMAP_LINEAR
// linear blending
148
};
149
150
enum
RV_TextureWrap
151
{
152
RV_TEX_WRAP_REPEAT
,
// texture repeats, tiling
153
RV_TEX_WRAP_CLAMP
,
// edge pixel is stretched
154
RV_TEX_WRAP_BORDER
,
// outside pixels are a const colour
155
RV_TEX_WRAP_MIRROR
// texture repeats, mirrored tiling
156
};
157
158
class
RV_TextureParms
159
{
160
public
:
161
UT_StringHolder
Layer
;
// Layer name within a deep raster file. C if ""
162
UT_StringHolder
ColorSpace
;
// OCIO colorspace of the source, auto if ""
163
fpreal
ImageScale
= 1.0;
// Scale to apply to loaded images
164
exint
MaxWidth
= 0;
// 0 = no limit
165
exint
MaxHeight
= 0;
166
exint
MaxDepth
= 0;
167
exint
MaxComponents
= 0;
168
exint
MaxMemoryMB
= 0;
169
bool
MipMap
=
false
;
170
fpreal
MinLOD
= 0.0;
171
fpreal
MaxLOD
= -1.0;
// Default no limit to mip levels
172
bool
LinearInterp
=
true
;
// Use bilinear or trilinear interpolation
173
bool
IntTexture
=
false
;
// If INT/UINT 8/16 is normalized or as-is
174
bool
SampleTexels
=
false
;
// if UV is [0,1] (false) or [0,res) (true).
175
bool
CheckAlpha
=
false
;
// check for detailed info about alpha
176
int
Anisotropy
= 4;
177
RV_TextureWrap
WrapU
=
RV_TEX_WRAP_REPEAT
;
// behaviour outside (0,1) uv
178
RV_TextureWrap
WrapV
=
RV_TEX_WRAP_REPEAT
;
179
RV_TextureWrap
WrapW
=
RV_TEX_WRAP_REPEAT
;
180
RV_TextureFilter
Filter
=
RV_FILTER_LINEAR
;
181
fpreal32
BorderColor
[4] = { 0.0, 0.0, 0.0, 0.0 };
182
bool
IsData
=
false
;
183
};
184
185
/// ID used to individually identify Vulkan Resources, and an
186
/// index used for fast-lookup inside RV_Instance
187
struct
RV_ResourceID
188
{
189
exint
id
= 0;
190
exint
index
= 0;
191
192
operator
bool
()
const
193
{
return
id
!= 0; }
194
195
bool
operator==
(
const
RV_ResourceID
&other)
const
196
{
return
other.
id
==
id
; }
197
198
RV_ResourceID
() =
default
;
199
RV_ResourceID
&
operator=
(
const
RV_ResourceID
&other) =
default
;
200
RV_ResourceID
(
const
RV_ResourceID
&other) =
default
;
201
};
202
203
enum
RV_TextureSwizzle
204
{
205
RV_SWIZZLE_IDENTITY
= 0,
206
RV_SWIZZLE_NONE
=
RV_SWIZZLE_IDENTITY
,
207
RV_SWIZZLE_RED
,
208
RV_SWIZZLE_GREEN
,
209
RV_SWIZZLE_BLUE
,
210
RV_SWIZZLE_ALPHA
,
211
RV_SWIZZLE_ZERO
,
212
RV_SWIZZLE_ONE
213
};
214
215
enum
RV_UniformVarType
216
{
217
RV_UNIFORM_MEMBER
= 0,
218
RV_UNIFORM_PUSH_CONSTANT
,
219
RV_UNIFORM_SAMPLER
,
220
RV_UNIFORM_SAMPLER_MULTISAMPLE
,
221
RV_UNIFORM_SAMPLER_SHADOW
,
222
RV_UNIFORM_IMAGE
,
223
//RV_UNIFORM_IMAGE_UNTYPED, // for `shaderStorageImageReadWithoutFormat`
224
RV_UNIFORM_SAMPLED_IMAGE
,
225
RV_UNIFORM_SEPARATE_SAMPLER
,
226
RV_UNIFORM_INPUT_ATTACHMENT
,
227
};
228
229
// Testing using a struct type instead of giant enum
230
// -- worried the helper functions for the giant enum
231
// will be fragile when we want to add new types
232
struct
RV_UniformType2
233
{
234
unsigned
int
vecsize
: 2;
235
RV_GPUType
data_type
: 4;
236
RV_UniformVarType
var_type
: 4;
237
RV_ImageDim
image_dim
: 4;
238
};
239
240
enum
RV_UniformType
241
{
242
RV_UNIFORM_INVALID
= -1,
243
RV_UNIFORM_FIRST_BASIC_TYPE
= 0,
244
245
RV_UNIFORM_FLOAT
=
RV_UNIFORM_FIRST_BASIC_TYPE
,
246
RV_UNIFORM_FLOAT_VEC2
,
247
RV_UNIFORM_FLOAT_VEC3
,
248
RV_UNIFORM_FLOAT_VEC4
,
249
RV_UNIFORM_DOUBLE
,
250
RV_UNIFORM_DOUBLE_VEC2
,
251
RV_UNIFORM_DOUBLE_VEC3
,
252
RV_UNIFORM_DOUBLE_VEC4
,
253
RV_UNIFORM_HALF
,
254
RV_UNIFORM_HALF_VEC2
,
255
RV_UNIFORM_HALF_VEC3
,
256
RV_UNIFORM_HALF_VEC4
,
257
RV_UNIFORM_INT
,
258
RV_UNIFORM_INT_VEC2
,
259
RV_UNIFORM_INT_VEC3
,
260
RV_UNIFORM_INT_VEC4
,
261
RV_UNIFORM_INT8
,
262
RV_UNIFORM_INT8_VEC2
,
263
RV_UNIFORM_INT8_VEC3
,
264
RV_UNIFORM_INT8_VEC4
,
265
RV_UNIFORM_INT16
,
266
RV_UNIFORM_INT16_VEC2
,
267
RV_UNIFORM_INT16_VEC3
,
268
RV_UNIFORM_INT16_VEC4
,
269
RV_UNIFORM_UNSIGNED_INT
,
270
RV_UNIFORM_UNSIGNED_INT_VEC2
,
271
RV_UNIFORM_UNSIGNED_INT_VEC3
,
272
RV_UNIFORM_UNSIGNED_INT_VEC4
,
273
RV_UNIFORM_UNSIGNED_INT8
,
274
RV_UNIFORM_UNSIGNED_INT8_VEC2
,
275
RV_UNIFORM_UNSIGNED_INT8_VEC3
,
276
RV_UNIFORM_UNSIGNED_INT8_VEC4
,
277
RV_UNIFORM_UNSIGNED_INT16
,
278
RV_UNIFORM_UNSIGNED_INT16_VEC2
,
279
RV_UNIFORM_UNSIGNED_INT16_VEC3
,
280
RV_UNIFORM_UNSIGNED_INT16_VEC4
,
281
RV_UNIFORM_UNSIGNED_INT64
,
282
RV_UNIFORM_BOOL
,
283
RV_UNIFORM_BOOL_VEC2
,
284
RV_UNIFORM_BOOL_VEC3
,
285
RV_UNIFORM_BOOL_VEC4
,
286
RV_UNIFORM_FLOAT_MAT2
,
287
RV_UNIFORM_FLOAT_MAT3
,
288
RV_UNIFORM_FLOAT_MAT4
,
289
RV_UNIFORM_FLOAT_MAT3X4
,
290
RV_UNIFORM_HALF_MAT2
,
291
RV_UNIFORM_HALF_MAT3
,
292
RV_UNIFORM_HALF_MAT4
,
293
RV_UNIFORM_HALF_MAT3X4
,
294
RV_UNIFORM_DOUBLE_MAT2
,
295
RV_UNIFORM_DOUBLE_MAT3
,
296
RV_UNIFORM_DOUBLE_MAT4
,
297
RV_UNIFORM_DOUBLE_MAT3X4
,
298
299
RV_UNIFORM_FINAL_BASIC_TYPE
=
RV_UNIFORM_DOUBLE_MAT3X4
,
300
RV_UNIFORM_FIRST_OPAQUE_TYPE
,
301
302
RV_UNIFORM_SAMPLER_1D
=
RV_UNIFORM_FIRST_OPAQUE_TYPE
,
303
RV_UNIFORM_SAMPLER_2D
,
304
RV_UNIFORM_SAMPLER_3D
,
305
RV_UNIFORM_SAMPLER_CUBE
,
306
RV_UNIFORM_SAMPLER_RECTANGLE
,
307
RV_UNIFORM_SAMPLER_1D_ARRAY
,
308
RV_UNIFORM_SAMPLER_2D_ARRAY
,
309
RV_UNIFORM_SAMPLER_CUBE_ARRAY
,
310
RV_UNIFORM_SAMPLER_2D_MULTISAMPLE
,
311
RV_UNIFORM_SAMPLER_2D_SHADOW
,
312
RV_UNIFORM_SAMPLER_BUFFER
,
313
RV_UNIFORM_INT_SAMPLER_BUFFER
,
314
RV_UNIFORM_UNSIGNED_INT_SAMPLER_BUFFER
,
315
RV_UNIFORM_IMAGE_1D
,
316
RV_UNIFORM_IMAGE_2D
,
317
RV_UNIFORM_IMAGE_3D
,
318
RV_UNIFORM_IMAGE_CUBE
,
319
RV_UNIFORM_IMAGE_RECTANGLE
,
320
RV_UNIFORM_IMAGE_BUFFER
,
321
RV_UNIFORM_IMAGE_1D_ARRAY
,
322
RV_UNIFORM_IMAGE_2D_ARRAY
,
323
RV_UNIFORM_IMAGE_CUBE_MAP_ARRAY
,
324
RV_UNIFORM_IMAGE_2D_MULTISAMPLE
,
325
RV_UNIFORM_IMAGE_2D_MULTISAMPLE_ARRAY
,
326
RV_UNIFORM_IMAGE_INT_1D
,
327
RV_UNIFORM_IMAGE_INT_2D
,
328
RV_UNIFORM_IMAGE_INT_3D
,
329
RV_UNIFORM_IMAGE_INT_RECTANGLE
,
330
RV_UNIFORM_IMAGE_INT_CUBE
,
331
RV_UNIFORM_IMAGE_INT_BUFFER
,
332
RV_UNIFORM_IMAGE_INT_1D_ARRAY
,
333
RV_UNIFORM_IMAGE_INT_2D_ARRAY
,
334
RV_UNIFORM_IMAGE_INT_CUBE_MAP_ARRAY
,
335
RV_UNIFORM_IMAGE_INT_2D_MULTISAMPLE
,
336
RV_UNIFORM_IMAGE_INT_2D_MULTISAMPLE_ARRAY
,
337
RV_UNIFORM_IMAGE_UINT_1D
,
338
RV_UNIFORM_IMAGE_UINT_2D
,
339
RV_UNIFORM_IMAGE_UINT_3D
,
340
RV_UNIFORM_IMAGE_UINT_RECTANGLE
,
341
RV_UNIFORM_IMAGE_UINT_CUBE
,
342
RV_UNIFORM_IMAGE_UINT_BUFFER
,
343
RV_UNIFORM_IMAGE_UINT_1D_ARRAY
,
344
RV_UNIFORM_IMAGE_UINT_2D_ARRAY
,
345
RV_UNIFORM_IMAGE_UINT_CUBE_MAP_ARRAY
,
346
RV_UNIFORM_IMAGE_UINT_2D_MULTISAMPLE
,
347
RV_UNIFORM_IMAGE_UINT_2D_MULTISAMPLE_ARRAY
,
348
349
RV_UNIFORM_FINAL_OPAQUE_TYPE
=
RV_UNIFORM_IMAGE_UINT_2D_MULTISAMPLE_ARRAY
,
350
351
RV_UNIFORM_STRUCT
,
352
353
RV_UNIFORM_TYPE__count
354
};
355
356
enum
RV_PrimType
357
{
358
RV_PRIM_NONE
,
359
RV_PRIM_AS_IS
=
RV_PRIM_NONE
,
360
361
RV_PRIM_POINTS
,
362
363
RV_PRIM_LINES
,
364
RV_PRIM_LINE_STRIP
,
365
RV_PRIM_LINE_LOOPS
,
// NOTE: no direct Vk analogue
366
367
RV_PRIM_TRIANGLES
,
368
RV_PRIM_TRIANGLE_STRIP
,
369
RV_PRIM_TRIANGLE_FAN
,
370
371
RV_PRIM_LINES_ADJACENT
,
// for geometry shaders; includes
372
RV_PRIM_LINE_STRIP_ADJACENT
,
// extra vertices outside the primitive
373
RV_PRIM_TRIANGLES_ADJACENT
,
// for curvature
374
RV_PRIM_TRIANGLE_STRIP_ADJACENT
,
375
376
RV_PRIM_POLYGONS
,
// NOTE: no direct Vk analogue
377
378
RV_PRIM_PATCHES
,
// Patches sent to tessellation shaders
379
380
RV_NUM_PRIM_TYPES
381
};
382
383
enum
RV_TopologyClass
384
{
385
RV_TOPOLOGY_UNKNOWN
= -1,
386
RV_TOPOLOGY_POINT
= 0,
387
RV_TOPOLOGY_LINE
,
388
RV_TOPOLOGY_TRIANGLE
,
389
RV_TOPOLOGY_PATCH
,
390
RV_NUM_TOPO_TYPES
391
};
392
393
enum
RV_AttachmentType
394
{
395
RV_COLOR_BUFFER
,
396
RV_DEPTH_BUFFER
,
397
RV_DEPTH_STENCIL_BUFFER
,
398
// RV_RESOLVE_BUFFER, // for now uneeded; we handle resolve in shader
399
};
400
401
enum
RV_ImageOp
402
{
403
RV_IMAGE_LOAD
,
404
RV_IMAGE_CLEAR
,
405
RV_IMAGE_DONT_CARE
,
406
RV_IMAGE_CLEAR_COLOR_ONLY
,
407
RV_IMAGE_CLEAR_DEPTH_ONLY
,
408
};
409
410
enum
RV_RenderPassType
411
{
412
RV_PASS_WHOLE
,
413
RV_PASS_INITIAL
,
414
RV_PASS_MIDDLE
,
415
RV_PASS_FINAL
,
416
};
417
418
enum
RV_ShaderType
419
{
420
RV_SHADER_UNKNOWN
= 0,
421
RV_SHADER_GRAPHICS
,
422
RV_SHADER_COMPUTE
,
423
RV_SHADER_RAY_TRACE
,
424
};
425
426
enum
RV_PolygonMode
427
{
428
RV_POLYGON_FILL
,
429
RV_POLYGON_LINE
,
430
RV_POLYGON_POINT
431
};
432
433
enum
RV_LogicOp
434
{
435
RV_LOGIC_NO_OP
= 0,
436
RV_LOGIC_AND
,
437
RV_LOGIC_OR
,
438
RV_LOGIC_XOR
,
439
RV_LOGIC_INVERT
,
440
};
441
442
enum
RV_StageGroup
443
{
444
RV_STAGE_NONE
= -1,
445
RV_STAGE_ANY
= 0,
// ALWAYS need to be execute
446
RV_STAGE_TRANSFER
,
447
RV_STAGE_GRAPHICS
,
448
RV_STAGE_COMPUTE
,
449
RV_STAGE_RAY
,
450
RV_STAGE_ANY_SHADER
,
// will be run for UBOs/SSBOs which can be consumed by compute or graphics pipelines
451
RV_STAGE_NUM
,
452
};
453
454
enum
RV_AccelStructBuildPref
455
{
456
RV_ACCEL_STRUCT_NO_PREFERENCE
,
457
RV_ACCEL_STRUCT_FAST_TRACE
,
458
RV_ACCEL_STRUCT_FAST_BUILD
,
459
};
460
461
enum
RV_AccelStructTag
462
{
463
RV_ACCEL_STRUCT_OPAQUE_OBJECT
= 0,
464
RV_ACCEL_STRUCT_GEOMETRY_LIGHT
= 1,
465
};
466
467
enum
RV_AccelStructVisibility
468
{
469
RV_ACCEL_STRUCT_OPAQUE_OBJECT_VISIBLE
= 0x1,
470
RV_ACCEL_STRUCT_LIGHT_VISIBLE
= 0x2,
471
472
RV_ACCEL_STRUCT_ALL_VISIBLE
= 0xFF
473
};
474
475
typedef
UT_StringArray
RV_OverrideList
;
476
477
RV_API
bool
RVgetUniformFormat
(
478
RV_UniformType
t
,
479
RV_GPUType
&out_type,
480
int
&out_vecsize);
481
RV_API
RV_ImageDim
RVgetUniformTypeImageDim
(
RV_UniformType
t
);
482
483
inline
bool
RVisUIntGPUType
(
RV_GPUType
gpu_type)
484
{
485
return
gpu_type >=
RV_GPU_UINT8
&& gpu_type <=
RV_GPU_UINT32
;
486
}
487
488
inline
bool
RVisIntGPUType
(
RV_GPUType
gpu_type)
489
{
490
return
gpu_type >=
RV_GPU_INT8
&& gpu_type <=
RV_GPU_INT32
;
491
}
492
493
inline
bool
RVisFloatGPUType
(
RV_GPUType
gpu_type)
494
{
495
return
gpu_type >=
RV_GPU_FLOAT16
&& gpu_type <=
RV_GPU_FLOAT64
;
496
}
497
498
inline
bool
RVisMatrixGPUType
(
RV_GPUType
gpu_type)
499
{
500
return
gpu_type >=
RV_GPU_MATRIX2
&& gpu_type <=
RV_GPU_MATRIX4
;
501
}
502
503
inline
uint32_t
RVsizeOfGPUType
(
RV_GPUType
gpu_type)
504
{
505
int
bpp = 32;
506
507
switch
(gpu_type)
508
{
509
// NOTE: that int-1 and int-4 don't correspond to
510
// actual Vulkan types
511
case
RV_GPU_UINT1
:
512
bpp = 1;
break
;
513
case
RV_GPU_UINT4
:
514
bpp = 4;
break
;
515
516
case
RV_GPU_INT8
:
517
case
RV_GPU_UINT8
:
518
bpp = 8;
break
;
519
520
case
RV_GPU_INT16
:
521
case
RV_GPU_UINT16
:
522
case
RV_GPU_FLOAT16
:
523
bpp = 16;
break
;
524
525
case
RV_GPU_INT32
:
526
case
RV_GPU_UINT32
:
527
case
RV_GPU_FLOAT32
:
528
case
RV_GPU_FLOAT24
:
529
bpp = 32;
break
;
530
531
case
RV_GPU_FLOAT64
:
532
bpp = 64;
break
;
533
534
case
RV_GPU_MATRIX2
:
535
bpp = 32 * 4;
break
;
536
case
RV_GPU_MATRIX3
:
537
bpp = 32 * 9;
break
;
538
case
RV_GPU_MATRIX4
:
539
bpp = 32 * 16;
break
;
540
default
:
541
bpp = 32;
542
UT_ASSERT_MSG
(0,
"RVsizeOfGPUType(): Unrecognized RV_GPUType"
);
543
}
544
545
return
bpp;
546
}
547
548
inline
RV_TextureWrap
RVconvertToTextureWrap
(
RE_TexClampType
type
)
549
{
550
switch
(type)
551
{
552
case
RE_CLAMP_REPEAT
:
return
RV_TEX_WRAP_REPEAT
;
553
case
RE_CLAMP_BORDER
:
return
RV_TEX_WRAP_BORDER
;
554
case
RE_CLAMP_EDGE
:
return
RV_TEX_WRAP_CLAMP
;
555
case
RE_CLAMP_MIRROR
:
return
RV_TEX_WRAP_MIRROR
;
556
}
557
return
RV_TEX_WRAP_REPEAT
;
558
}
559
560
inline
RV_TopologyClass
RVgetTopologyClass
(
RV_PrimType
t
)
561
{
562
switch
(t)
563
{
564
case
RV_PRIM_POINTS
:
565
return
RV_TOPOLOGY_POINT
;
566
case
RV_PRIM_LINES
:
567
case
RV_PRIM_LINE_STRIP
:
568
case
RV_PRIM_LINES_ADJACENT
:
569
case
RV_PRIM_LINE_STRIP_ADJACENT
:
570
return
RV_TOPOLOGY_LINE
;
571
case
RV_PRIM_TRIANGLES
:
572
case
RV_PRIM_TRIANGLE_STRIP
:
573
case
RV_PRIM_TRIANGLE_FAN
:
574
case
RV_PRIM_TRIANGLES_ADJACENT
:
575
case
RV_PRIM_TRIANGLE_STRIP_ADJACENT
:
576
return
RV_TOPOLOGY_TRIANGLE
;
577
case
RV_PRIM_PATCHES
:
578
return
RV_TOPOLOGY_PATCH
;
579
default
:
break
;
580
}
581
UT_ASSERT
(
false
&&
"Unrecognized Topology Type used for Pipeline"
);
582
return
RV_TOPOLOGY_UNKNOWN
;
583
}
584
585
inline
RV_PrimType
RVconvertToRVPrim
(
RE_PrimType
type
)
586
{
587
switch
(type)
588
{
589
case
RE_PRIM_POINTS
:
return
RV_PRIM_POINTS
;
590
case
RE_PRIM_LINES
:
return
RV_PRIM_LINES
;
591
case
RE_PRIM_LINE_STRIP
:
return
RV_PRIM_LINE_STRIP
;
592
case
RE_PRIM_TRIANGLES
:
return
RV_PRIM_TRIANGLES
;
593
case
RE_PRIM_TRIANGLE_STRIP
:
return
RV_PRIM_TRIANGLE_STRIP
;
594
case
RE_PRIM_TRIANGLE_FAN
:
return
RV_PRIM_TRIANGLE_FAN
;
595
case
RE_PRIM_LINES_ADJACENT
:
return
RV_PRIM_LINES_ADJACENT
;
596
case
RE_PRIM_LINE_STRIP_ADJACENT
:
return
RV_PRIM_LINE_STRIP_ADJACENT
;
597
case
RE_PRIM_TRIANGLES_ADJACENT
:
return
RV_PRIM_TRIANGLES_ADJACENT
;
598
case
RE_PRIM_TRIANGLE_STRIP_ADJACENT
:
return
RV_PRIM_TRIANGLE_STRIP_ADJACENT
;
599
case
RE_PRIM_POLYGONS
:
return
RV_PRIM_POLYGONS
;
600
case
RE_PRIM_PATCHES
:
return
RV_PRIM_PATCHES
;
601
case
RE_PRIM_NONE
:
602
case
RE_NUM_PRIM_TYPES
:
603
case
RE_PRIM_LINE_LOOP
:
604
default
:
break
;
605
}
606
return
RV_PRIM_NONE
;
607
}
608
609
const
char
*
RVgetTypeName
(
RV_GPUType
t
);
610
611
const
char
*
RVgetPrimName
(
RV_PrimType
p);
612
613
const
char
*
RVgetUniformTypeName
(
RV_UniformType
t
);
614
615
inline
bool
RVisBasicType
(
RV_UniformType
t
)
616
{
617
return
t >=
RV_UNIFORM_FIRST_BASIC_TYPE
&& t <=
RV_UNIFORM_FINAL_BASIC_TYPE
;
618
}
619
620
inline
bool
RVisOpaqueType
(
RV_UniformType
t
)
621
{
622
return
t >=
RV_UNIFORM_FIRST_OPAQUE_TYPE
&& t <=
RV_UNIFORM_FINAL_OPAQUE_TYPE
;
623
}
624
625
int
RVgetPointsPerPrim
(
RV_PrimType
p);
626
627
int
RVgetNumberOfPrim
(
RV_PrimType
p,
int
num_verts);
628
629
#endif
RV_NUM_TOPO_TYPES
Definition:
RV_Type.h:390
RV_MEM_MAPPABLE_HOST_CACHED
Definition:
RV_Type.h:116
RV_TOPOLOGY_LINE
Definition:
RV_Type.h:387
RE_GPU_FLOAT64
Definition:
RE_Types.h:67
RV_IMAGE_CLEAR_DEPTH_ONLY
Definition:
RV_Type.h:407
RV_NUM_PRIM_TYPES
Definition:
RV_Type.h:380
RV_UNIFORM_SAMPLER_BUFFER
Definition:
RV_Type.h:312
RV_DEVICE_GDI
Definition:
RV_Type.h:87
RV_UNIFORM_IMAGE_1D_ARRAY
Definition:
RV_Type.h:321
RV_TextureSwizzle
RV_TextureSwizzle
Definition:
RV_Type.h:203
RV_FILTER_CUBIC
Definition:
RV_Type.h:140
RV_TextureParms::WrapW
RV_TextureWrap WrapW
Definition:
RV_Type.h:179
RE_CLAMP_MIRROR
Definition:
RE_TextureTypes.h:85
RV_UNIFORM_INT16_VEC2
Definition:
RV_Type.h:266
RV_UniformVarType
RV_UniformVarType
Definition:
RV_Type.h:215
RV_API.h
RV_ACCEL_STRUCT_FAST_BUILD
Definition:
RV_Type.h:458
RV_SWIZZLE_ONE
Definition:
RV_Type.h:212
RV_UNIFORM_IMAGE_UINT_1D
Definition:
RV_Type.h:337
RV_UNIFORM_UNSIGNED_INT16_VEC4
Definition:
RV_Type.h:280
RV_STAGE_GRAPHICS
Definition:
RV_Type.h:447
RV_TextureParms::CheckAlpha
bool CheckAlpha
Definition:
RV_Type.h:175
RV_PRIM_PATCHES
Definition:
RV_Type.h:378
RV_SET_OBJECT
Definition:
RV_Type.h:32
UT_SharedPtr.h
RV_UNIFORM_INT16_VEC3
Definition:
RV_Type.h:267
RV_UNIFORM_DOUBLE_MAT2
Definition:
RV_Type.h:294
RV_SET_NUM
Definition:
RV_Type.h:36
RE_GPU_MATRIX2
Definition:
RE_Types.h:70
RV_SET_MATERIAL
Definition:
RV_Type.h:34
RV_GPU_INT16
Definition:
RV_Type.h:50
RV_TOPOLOGY_TRIANGLE
Definition:
RV_Type.h:388
RVgetREType
RE_GPUType RVgetREType(RV_GPUType t)
Definition:
RV_Type.h:73
RV_UNIFORM_UNSIGNED_INT16
Definition:
RV_Type.h:277
RV_GPU_UINT8
Definition:
RV_Type.h:45
RV_UNIFORM_TYPE__count
Definition:
RV_Type.h:353
RV_UNIFORM_IMAGE_2D_MULTISAMPLE
Definition:
RV_Type.h:324
RV_MIPMAP_NEAREST
Definition:
RV_Type.h:146
RV_ImageOp
RV_ImageOp
Definition:
RV_Type.h:401
RV_UNIFORM_DOUBLE_MAT3
Definition:
RV_Type.h:295
RV_LOGIC_NO_OP
Definition:
RV_Type.h:435
RV_STAGE_RAY
Definition:
RV_Type.h:449
RV_TextureParms::MaxWidth
exint MaxWidth
Definition:
RV_Type.h:164
RV_UniformType2
Definition:
RV_Type.h:232
RV_UNIFORM_IMAGE_INT_2D_MULTISAMPLE
Definition:
RV_Type.h:335
RV_TEX_WRAP_REPEAT
Definition:
RV_Type.h:152
RV_UNIFORM_DOUBLE_VEC4
Definition:
RV_Type.h:252
RV_UNIFORM_INT8_VEC4
Definition:
RV_Type.h:264
RV_GPU_FLOAT16
Definition:
RV_Type.h:53
RV_UniformType2::image_dim
RV_ImageDim image_dim
Definition:
RV_Type.h:237
RVconvertToRVPrim
RV_PrimType RVconvertToRVPrim(RE_PrimType type)
Definition:
RV_Type.h:585
RV_MEM_MAPPABLE_UPLOAD
Definition:
RV_Type.h:114
RV_TextureParms::IntTexture
bool IntTexture
Definition:
RV_Type.h:173
RV_UNIFORM_SAMPLER_1D
Definition:
RV_Type.h:302
RV_SWIZZLE_ZERO
Definition:
RV_Type.h:211
RE_PRIM_TRIANGLES_ADJACENT
Definition:
RE_Types.h:216
RV_IMAGE_BUFFER
Definition:
RV_Type.h:131
RV_UNIFORM_IMAGE_UINT_CUBE_MAP_ARRAY
Definition:
RV_Type.h:345
RV_UNIFORM_SAMPLER_2D
Definition:
RV_Type.h:303
RVisFloatGPUType
bool RVisFloatGPUType(RV_GPUType gpu_type)
Definition:
RV_Type.h:493
RE_TextureTypes.h
RV_DEVICE_MAC
Definition:
RV_Type.h:91
RV_DEVICE_UNKNOWN
Definition:
RV_Type.h:81
RV_UNIFORM_INT_VEC2
Definition:
RV_Type.h:258
RE_GPU_UINT4
Definition:
RE_Types.h:55
RV_UNIFORM_INT16_VEC4
Definition:
RV_Type.h:268
RV_GPU_UINT16
Definition:
RV_Type.h:46
RE_PRIM_TRIANGLE_STRIP
Definition:
RE_Types.h:211
RV_UNIFORM_IMAGE_INT_CUBE_MAP_ARRAY
Definition:
RV_Type.h:334
RV_TextureParms::LinearInterp
bool LinearInterp
Definition:
RV_Type.h:172
RV_DEPTH_STENCIL_BUFFER
Definition:
RV_Type.h:397
RV_UNIFORM_IMAGE_CUBE
Definition:
RV_Type.h:318
RV_ResourceID::id
exint id
Definition:
RV_Type.h:189
RV_ATTRIBUTE_POINT
Definition:
RV_Type.h:101
RV_UniformType2::data_type
RV_GPUType data_type
Definition:
RV_Type.h:235
RV_UNIFORM_HALF_VEC2
Definition:
RV_Type.h:254
RV_PRIM_LINES_ADJACENT
Definition:
RV_Type.h:371
exint
int64 exint
Definition:
SYS_Types.h:125
UT_StringArray.h
RV_StageGroup
RV_StageGroup
Definition:
RV_Type.h:442
RV_TextureParms::Layer
UT_StringHolder Layer
Definition:
RV_Type.h:161
RV_SHADER_GRAPHICS
Definition:
RV_Type.h:421
RV_UNIFORM_IMAGE_INT_3D
Definition:
RV_Type.h:328
RV_UNIFORM_SEPARATE_SAMPLER
Definition:
RV_Type.h:225
RE_GPU_UINT32
Definition:
RE_Types.h:58
RV_SWIZZLE_GREEN
Definition:
RV_Type.h:208
RV_LOGIC_XOR
Definition:
RV_Type.h:438
RVisIntGPUType
bool RVisIntGPUType(RV_GPUType gpu_type)
Definition:
RV_Type.h:488
RVgetPointsPerPrim
int RVgetPointsPerPrim(RV_PrimType p)
RV_UNIFORM_UNSIGNED_INT_VEC4
Definition:
RV_Type.h:272
RVgetTypeName
const char * RVgetTypeName(RV_GPUType t)
RV_UNIFORM_IMAGE_INT_1D_ARRAY
Definition:
RV_Type.h:332
RV_UNIFORM_SAMPLED_IMAGE
Definition:
RV_Type.h:224
RV_UNIFORM_IMAGE
Definition:
RV_Type.h:222
RV_IMAGE_CLEAR_COLOR_ONLY
Definition:
RV_Type.h:406
RV_UNIFORM_UNSIGNED_INT16_VEC3
Definition:
RV_Type.h:279
RV_SWIZZLE_IDENTITY
Definition:
RV_Type.h:205
RV_FILTER_NEAREST
Definition:
RV_Type.h:138
RV_MEM_AUTO
Definition:
RV_Type.h:113
RV_ACCEL_STRUCT_NO_PREFERENCE
Definition:
RV_Type.h:456
RV_TOPOLOGY_POINT
Definition:
RV_Type.h:386
RV_STAGE_ANY
Definition:
RV_Type.h:445
RV_DEVICE_MAC_SILICON
Definition:
RV_Type.h:92
RV_TextureParms::IsData
bool IsData
Definition:
RV_Type.h:182
RV_IMAGE_LOAD
Definition:
RV_Type.h:403
RVgetUniformTypeImageDim
RV_API RV_ImageDim RVgetUniformTypeImageDim(RV_UniformType t)
fpreal32
float fpreal32
Definition:
SYS_Types.h:200
RV_UNIFORM_FLOAT_MAT3
Definition:
RV_Type.h:287
RV_UNIFORM_IMAGE_UINT_2D_MULTISAMPLE
Definition:
RV_Type.h:346
RV_IMAGE_MAX_TYPE
Definition:
RV_Type.h:133
RV_TextureMipMode
RV_TextureMipMode
Definition:
RV_Type.h:143
RV_GPU_UNKNOWN
Definition:
RV_Type.h:63
RE_GPU_FLOAT32
Definition:
RE_Types.h:66
RV_UNIFORM_UNSIGNED_INT
Definition:
RV_Type.h:269
RV_UNIFORM_IMAGE_3D
Definition:
RV_Type.h:317
RV_SET_SHADER
Definition:
RV_Type.h:35
openvdb::OPENVDB_VERSION_NAME::tools::bool
OutGridT const XformOp bool bool
Definition:
ValueTransformer.h:609
RV_PRIM_TRIANGLE_STRIP_ADJACENT
Definition:
RV_Type.h:374
RE_GPU_INT16
Definition:
RE_Types.h:61
RE_GPU_UINT1
Definition:
RE_Types.h:54
RV_UNIFORM_UNSIGNED_INT_VEC2
Definition:
RV_Type.h:270
RV_TextureParms::ImageScale
fpreal ImageScale
Definition:
RV_Type.h:163
RV_OverrideList
UT_StringArray RV_OverrideList
Definition:
RV_Type.h:475
RV_UNIFORM_FLOAT
Definition:
RV_Type.h:245
RV_UNIFORM_HALF
Definition:
RV_Type.h:253
RV_ResourceID
Definition:
RV_Type.h:187
RV_UNIFORM_IMAGE_UINT_BUFFER
Definition:
RV_Type.h:342
RV_TextureParms::MaxMemoryMB
exint MaxMemoryMB
Definition:
RV_Type.h:168
RE_GPU_FLOAT24
Definition:
RE_Types.h:65
RE_PRIM_LINE_STRIP
Definition:
RE_Types.h:207
RV_ACCEL_STRUCT_GEOMETRY_LIGHT
Definition:
RV_Type.h:464
UT_ASSERT_MSG
#define UT_ASSERT_MSG(ZZ,...)
Definition:
UT_Assert.h:168
RV_AttachmentType
RV_AttachmentType
Definition:
RV_Type.h:393
RV_UNIFORM_INT8_VEC3
Definition:
RV_Type.h:263
UT_StringHolder
Definition:
UT_StringHolder.h:1074
SYS_AtomicInt.h
RV_GPU_FLOAT64
Definition:
RV_Type.h:56
RV_TextureParms::MaxComponents
exint MaxComponents
Definition:
RV_Type.h:167
RV_UNIFORM_HALF_MAT4
Definition:
RV_Type.h:292
RE_PRIM_POLYGONS
Definition:
RE_Types.h:219
RV_UNIFORM_DOUBLE
Definition:
RV_Type.h:249
RV_MEM_OPENGL_EXPORTABLE
Definition:
RV_Type.h:117
RE_GPUType
RE_GPUType
Definition:
RE_Types.h:52
UT_StringArray
Definition:
UT_StringArray.h:24
RV_COLOR_BUFFER
Definition:
RV_Type.h:395
RV_TextureParms::ColorSpace
UT_StringHolder ColorSpace
Definition:
RV_Type.h:162
type
GLint GLint GLsizei GLint GLenum GLenum type
Definition:
glcorearb.h:108
RV_UNIFORM_HALF_VEC4
Definition:
RV_Type.h:256
RV_UNIFORM_FLOAT_MAT2
Definition:
RV_Type.h:286
RV_UNIFORM_IMAGE_BUFFER
Definition:
RV_Type.h:320
RV_DEVICE_NVIDIA_PRO
Definition:
RV_Type.h:95
RV_UNIFORM_SAMPLER_CUBE_ARRAY
Definition:
RV_Type.h:309
RV_UNIFORM_SAMPLER_SHADOW
Definition:
RV_Type.h:221
RV_UNIFORM_INT8
Definition:
RV_Type.h:261
RV_SetType
RV_SetType
Definition:
RV_Type.h:29
RE_CLAMP_BORDER
Definition:
RE_TextureTypes.h:83
RV_ResourceID::RV_ResourceID
RV_ResourceID()=default
RV_LOGIC_AND
Definition:
RV_Type.h:436
RV_SHADER_COMPUTE
Definition:
RV_Type.h:422
RV_TextureParms::WrapU
RV_TextureWrap WrapU
Definition:
RV_Type.h:177
RE_PRIM_NONE
Definition:
RE_Types.h:201
RE_PRIM_TRIANGLE_STRIP_ADJACENT
Definition:
RE_Types.h:217
RV_UNIFORM_UNSIGNED_INT16_VEC2
Definition:
RV_Type.h:278
RV_UNIFORM_UNSIGNED_INT8_VEC3
Definition:
RV_Type.h:275
RV_ATTRIBUTE_RANDOM
Definition:
RV_Type.h:106
RV_GraphicsDevice
RV_GraphicsDevice
Definition:
RV_Type.h:79
RV_IMAGE_1D_ARRAY
Definition:
RV_Type.h:128
RV_TextureParms::MipMap
bool MipMap
Definition:
RV_Type.h:169
RV_AccelStructTag
RV_AccelStructTag
Definition:
RV_Type.h:461
RV_AttributeType
RV_AttributeType
Definition:
RV_Type.h:99
RV_UNIFORM_UNSIGNED_INT8_VEC4
Definition:
RV_Type.h:276
RV_UNIFORM_FINAL_BASIC_TYPE
Definition:
RV_Type.h:299
RV_UniformType2::var_type
RV_UniformVarType var_type
Definition:
RV_Type.h:236
RV_UNIFORM_SAMPLER_3D
Definition:
RV_Type.h:304
RV_PRIM_TRIANGLE_STRIP
Definition:
RV_Type.h:368
RV_SET_GLOBAL
Definition:
RV_Type.h:31
RV_UniformType
RV_UniformType
Definition:
RV_Type.h:240
RV_TOPOLOGY_PATCH
Definition:
RV_Type.h:389
RV_PASS_INITIAL
Definition:
RV_Type.h:413
RV_PRIM_NONE
Definition:
RV_Type.h:358
RV_UNIFORM_HALF_MAT2
Definition:
RV_Type.h:290
RV_UNIFORM_DOUBLE_MAT4
Definition:
RV_Type.h:296
RV_ACCEL_STRUCT_OPAQUE_OBJECT
Definition:
RV_Type.h:463
RV_PolygonMode
RV_PolygonMode
Definition:
RV_Type.h:426
RV_STAGE_NUM
Definition:
RV_Type.h:451
RV_UNIFORM_IMAGE_2D_ARRAY
Definition:
RV_Type.h:322
RV_IMAGE_2D
Definition:
RV_Type.h:124
RE_TexClampType
RE_TexClampType
Definition:
RE_TextureTypes.h:80
RVconvertToTextureWrap
RV_TextureWrap RVconvertToTextureWrap(RE_TexClampType type)
Definition:
RV_Type.h:548
RV_DEVICE_INTEL_HD
Definition:
RV_Type.h:86
RV_UNIFORM_SAMPLER_MULTISAMPLE
Definition:
RV_Type.h:220
RV_ATTRIBUTE_CONSTANT
Definition:
RV_Type.h:105
RV_API
#define RV_API
Definition:
RV_API.h:10
RV_UNIFORM_FLOAT_VEC4
Definition:
RV_Type.h:248
RV_UNIFORM_IMAGE_UINT_3D
Definition:
RV_Type.h:339
RV_DEVICE_NVIDIA
Definition:
RV_Type.h:84
RE_PRIM_TRIANGLES
Definition:
RE_Types.h:210
RVisBasicType
bool RVisBasicType(RV_UniformType t)
Definition:
RV_Type.h:615
RV_UNIFORM_SAMPLER_CUBE
Definition:
RV_Type.h:305
RV_DEVICE_INTEL_GMA
Definition:
RV_Type.h:85
RV_UNIFORM_UNSIGNED_INT8_VEC2
Definition:
RV_Type.h:274
RV_TextureWrap
RV_TextureWrap
Definition:
RV_Type.h:150
RV_AccelStructBuildPref
RV_AccelStructBuildPref
Definition:
RV_Type.h:454
RE_CLAMP_EDGE
Definition:
RE_TextureTypes.h:84
RE_PRIM_TRIANGLE_FAN
Definition:
RE_Types.h:212
RV_POLYGON_POINT
Definition:
RV_Type.h:430
RV_SWIZZLE_RED
Definition:
RV_Type.h:207
RV_UNIFORM_IMAGE_UINT_2D
Definition:
RV_Type.h:338
RV_PRIM_LINES
Definition:
RV_Type.h:363
RVgetPrimName
const char * RVgetPrimName(RV_PrimType p)
RVgetNumberOfPrim
int RVgetNumberOfPrim(RV_PrimType p, int num_verts)
RV_UNIFORM_IMAGE_1D
Definition:
RV_Type.h:315
RV_UNIFORM_SAMPLER
Definition:
RV_Type.h:219
RV_UNIFORM_IMAGE_UINT_2D_MULTISAMPLE_ARRAY
Definition:
RV_Type.h:347
RV_GPU_FLOAT24
Definition:
RV_Type.h:54
RV_GPU_INT8
Definition:
RV_Type.h:49
RE_Types.h
RV_TextureParms::MinLOD
fpreal MinLOD
Definition:
RV_Type.h:170
RV_UNIFORM_SAMPLER_RECTANGLE
Definition:
RV_Type.h:306
RV_PRIM_LINE_LOOPS
Definition:
RV_Type.h:365
RVisUIntGPUType
bool RVisUIntGPUType(RV_GPUType gpu_type)
Definition:
RV_Type.h:483
RV_IMAGE_CUBE_ARRAY
Definition:
RV_Type.h:130
RV_UNIFORM_DOUBLE_MAT3X4
Definition:
RV_Type.h:297
RE_GPU_INT32
Definition:
RE_Types.h:62
RE_PRIM_LINES_ADJACENT
Definition:
RE_Types.h:214
RE_GPU_UINT8
Definition:
RE_Types.h:56
RV_PRIM_POLYGONS
Definition:
RV_Type.h:376
RV_TextureFilter
RV_TextureFilter
Definition:
RV_Type.h:136
RV_STAGE_COMPUTE
Definition:
RV_Type.h:448
RV_TextureParms::SampleTexels
bool SampleTexels
Definition:
RV_Type.h:174
RV_LOGIC_INVERT
Definition:
RV_Type.h:439
RV_UNIFORM_INT_VEC3
Definition:
RV_Type.h:259
RV_GPU_MATRIX2
Definition:
RV_Type.h:59
RV_LOGIC_OR
Definition:
RV_Type.h:437
RV_TEX_WRAP_BORDER
Definition:
RV_Type.h:154
t
GLdouble t
Definition:
glad.h:2397
RV_POLYGON_LINE
Definition:
RV_Type.h:429
RVgetFromREType
RV_GPUType RVgetFromREType(RE_GPUType t)
Definition:
RV_Type.h:67
RV_ShaderType
RV_ShaderType
Definition:
RV_Type.h:418
RV_PRIM_TRIANGLES_ADJACENT
Definition:
RV_Type.h:373
RV_UNIFORM_INT_VEC4
Definition:
RV_Type.h:260
RV_IMAGE_2D_RECTANGLE
Definition:
RV_Type.h:127
RE_GPU_UINT16
Definition:
RE_Types.h:57
RV_SHADER_UNKNOWN
Definition:
RV_Type.h:420
RV_UNIFORM_INT
Definition:
RV_Type.h:257
RV_DEPTH_BUFFER
Definition:
RV_Type.h:396
RV_GPU_MATRIX4
Definition:
RV_Type.h:61
RV_UNIFORM_UNSIGNED_INT64
Definition:
RV_Type.h:281
RV_TextureParms::WrapV
RV_TextureWrap WrapV
Definition:
RV_Type.h:178
RV_UNIFORM_HALF_MAT3X4
Definition:
RV_Type.h:293
RV_IMAGE_DONT_CARE
Definition:
RV_Type.h:405
RV_UNIFORM_IMAGE_INT_2D
Definition:
RV_Type.h:327
RV_SET_GEOMETRY
Definition:
RV_Type.h:33
RV_PASS_MIDDLE
Definition:
RV_Type.h:414
RV_PrimType
RV_PrimType
Definition:
RV_Type.h:356
RE_GPU_MATRIX3
Definition:
RE_Types.h:71
RE_CLAMP_REPEAT
Definition:
RE_TextureTypes.h:82
RV_UNIFORM_FIRST_BASIC_TYPE
Definition:
RV_Type.h:243
RV_GPU_FLOAT32
Definition:
RV_Type.h:55
RV_MEM_MAPPABLE_UPLOAD_DEVICE_LOCAL
Definition:
RV_Type.h:115
RE_GPU_MATRIX4
Definition:
RE_Types.h:72
RV_UNIFORM_IMAGE_INT_BUFFER
Definition:
RV_Type.h:331
RVsizeOfGPUType
uint32_t RVsizeOfGPUType(RV_GPUType gpu_type)
Definition:
RV_Type.h:503
RV_UNIFORM_INT16
Definition:
RV_Type.h:265
RV_PRIM_LINE_STRIP_ADJACENT
Definition:
RV_Type.h:372
RV_UNIFORM_IMAGE_UINT_2D_ARRAY
Definition:
RV_Type.h:344
RV_DEVICE_PRO
Definition:
RV_Type.h:90
RVgetUniformTypeName
const char * RVgetUniformTypeName(RV_UniformType t)
RE_GPU_INT8
Definition:
RE_Types.h:60
RV_UNIFORM_DOUBLE_VEC2
Definition:
RV_Type.h:250
RVgetTopologyClass
RV_TopologyClass RVgetTopologyClass(RV_PrimType t)
Definition:
RV_Type.h:560
RVisMatrixGPUType
bool RVisMatrixGPUType(RV_GPUType gpu_type)
Definition:
RV_Type.h:498
RV_ATTRIBUTE_VERTEX
Definition:
RV_Type.h:102
RE_GPU_FLOAT16
Definition:
RE_Types.h:64
RV_TextureParms::MaxDepth
exint MaxDepth
Definition:
RV_Type.h:166
RV_UNIFORM_INVALID
Definition:
RV_Type.h:242
RV_PRIM_POINTS
Definition:
RV_Type.h:361
RV_TopologyClass
RV_TopologyClass
Definition:
RV_Type.h:383
RV_FILTER_LINEAR
Definition:
RV_Type.h:139
RV_GPUType
RV_GPUType
Definition:
RV_Type.h:40
fpreal
fpreal64 fpreal
Definition:
SYS_Types.h:283
RV_SWIZZLE_ALPHA
Definition:
RV_Type.h:210
RV_LogicOp
RV_LogicOp
Definition:
RV_Type.h:433
RV_DEVICE_INTEL_PRO
Definition:
RV_Type.h:96
RV_MIPMAP_DISABLED
Definition:
RV_Type.h:145
RV_MIPMAP_LINEAR
Definition:
RV_Type.h:147
RV_UNIFORM_INT_SAMPLER_BUFFER
Definition:
RV_Type.h:313
RV_UNIFORM_UNSIGNED_INT_SAMPLER_BUFFER
Definition:
RV_Type.h:314
RV_DEVICE_ATI_PRO
Definition:
RV_Type.h:94
index
GLuint index
Definition:
glcorearb.h:786
RV_UNIFORM_BOOL
Definition:
RV_Type.h:282
RV_PRIM_TRIANGLES
Definition:
RV_Type.h:367
RV_GPU_UINT4
Definition:
RV_Type.h:43
RV_SWIZZLE_NONE
Definition:
RV_Type.h:206
RV_UNIFORM_IMAGE_UINT_RECTANGLE
Definition:
RV_Type.h:340
RV_UNIFORM_IMAGE_CUBE_MAP_ARRAY
Definition:
RV_Type.h:323
RE_PRIM_PATCHES
Definition:
RE_Types.h:221
RV_STAGE_TRANSFER
Definition:
RV_Type.h:446
RV_ACCEL_STRUCT_LIGHT_VISIBLE
Definition:
RV_Type.h:470
RE_PRIM_LINE_STRIP_ADJACENT
Definition:
RE_Types.h:215
RV_IMAGE_CUBE
Definition:
RV_Type.h:126
RV_UNIFORM_FLOAT_VEC2
Definition:
RV_Type.h:246
RV_UNIFORM_SAMPLER_2D_ARRAY
Definition:
RV_Type.h:308
RV_UNIFORM_FIRST_OPAQUE_TYPE
Definition:
RV_Type.h:300
RV_UNIFORM_UNSIGNED_INT_VEC3
Definition:
RV_Type.h:271
RV_PRIM_TRIANGLE_FAN
Definition:
RV_Type.h:369
RV_PASS_FINAL
Definition:
RV_Type.h:415
RV_TextureParms
Definition:
RV_Type.h:158
RV_STAGE_ANY_SHADER
Definition:
RV_Type.h:450
RV_TEX_WRAP_MIRROR
Definition:
RV_Type.h:155
RV_UNIFORM_UNSIGNED_INT8
Definition:
RV_Type.h:273
RV_IMAGE_CLEAR
Definition:
RV_Type.h:404
RV_UNIFORM_IMAGE_2D
Definition:
RV_Type.h:316
RE_PRIM_LINES
Definition:
RE_Types.h:206
RV_POLYGON_FILL
Definition:
RV_Type.h:428
RV_GPU_UINT32
Definition:
RV_Type.h:47
RV_UNIFORM_IMAGE_2D_MULTISAMPLE_ARRAY
Definition:
RV_Type.h:325
RV_IMAGE_1D
Definition:
RV_Type.h:123
RV_UNIFORM_IMAGE_INT_1D
Definition:
RV_Type.h:326
RV_MemType
RV_MemType
Definition:
RV_Type.h:111
RV_UNIFORM_IMAGE_INT_2D_MULTISAMPLE_ARRAY
Definition:
RV_Type.h:336
UT_ASSERT
#define UT_ASSERT(ZZ)
Definition:
UT_Assert.h:165
RE_NUM_PRIM_TYPES
Definition:
RE_Types.h:223
RV_GPU_INT32
Definition:
RV_Type.h:51
RV_UNIFORM_HALF_VEC3
Definition:
RV_Type.h:255
RV_UNIFORM_IMAGE_INT_RECTANGLE
Definition:
RV_Type.h:329
RV_UNIFORM_STRUCT
Definition:
RV_Type.h:351
RV_UNIFORM_SAMPLER_1D_ARRAY
Definition:
RV_Type.h:307
RV_DEVICE_ATI
Definition:
RV_Type.h:83
RV_ATTRIBUTE_NULL
Definition:
RV_Type.h:107
RVisOpaqueType
bool RVisOpaqueType(RV_UniformType t)
Definition:
RV_Type.h:620
RV_RenderPassType
RV_RenderPassType
Definition:
RV_Type.h:410
RV_ResourceID::operator==
bool operator==(const RV_ResourceID &other) const
Definition:
RV_Type.h:195
RV_SWIZZLE_BLUE
Definition:
RV_Type.h:209
RV_UNIFORM_IMAGE_UINT_1D_ARRAY
Definition:
RV_Type.h:343
RE_PRIM_LINE_LOOP
Definition:
RE_Types.h:208
RV_UniformType2::vecsize
unsigned int vecsize
Definition:
RV_Type.h:234
RV_UNIFORM_IMAGE_INT_2D_ARRAY
Definition:
RV_Type.h:333
RV_ACCEL_STRUCT_ALL_VISIBLE
Definition:
RV_Type.h:472
RV_PRIM_AS_IS
Definition:
RV_Type.h:359
RV_UNIFORM_BOOL_VEC2
Definition:
RV_Type.h:283
RV_UNIFORM_IMAGE_INT_CUBE
Definition:
RV_Type.h:330
RV_GPU_MATRIX3
Definition:
RV_Type.h:60
RV_GPU_UINT1
Definition:
RV_Type.h:42
RV_ResourceID::operator=
RV_ResourceID & operator=(const RV_ResourceID &other)=default
UT_Matrix4.h
RV_ImageDim
RV_ImageDim
Definition:
RV_Type.h:120
RV_PASS_WHOLE
Definition:
RV_Type.h:412
RV_UNIFORM_IMAGE_UINT_CUBE
Definition:
RV_Type.h:341
RV_DEVICE_MESA
Definition:
RV_Type.h:88
RE_PrimType
RE_PrimType
Definition:
RE_Types.h:199
RV_UNIFORM_FLOAT_MAT3X4
Definition:
RV_Type.h:289
RV_TextureParms::BorderColor
fpreal32 BorderColor[4]
Definition:
RV_Type.h:181
RV_UNIFORM_SAMPLER_2D_MULTISAMPLE
Definition:
RV_Type.h:310
RV_UNIFORM_INPUT_ATTACHMENT
Definition:
RV_Type.h:226
RV_IMAGE_2D_ARRAY
Definition:
RV_Type.h:129
RE_PRIM_POINTS
Definition:
RE_Types.h:204
RV_UNIFORM_SAMPLER_2D_SHADOW
Definition:
RV_Type.h:311
RV_TEX_WRAP_CLAMP
Definition:
RV_Type.h:153
RV_UNIFORM_INT8_VEC2
Definition:
RV_Type.h:262
RV_TextureParms::Filter
RV_TextureFilter Filter
Definition:
RV_Type.h:180
RV_ATTRIBUTE_PRIMITIVE
Definition:
RV_Type.h:103
RV_TOPOLOGY_UNKNOWN
Definition:
RV_Type.h:385
RV_PRIM_LINE_STRIP
Definition:
RV_Type.h:364
RV_ACCEL_STRUCT_FAST_TRACE
Definition:
RV_Type.h:457
RV_IMAGE_UNKNOWN
Definition:
RV_Type.h:122
RVgetUniformFormat
RV_API bool RVgetUniformFormat(RV_UniformType t, RV_GPUType &out_type, int &out_vecsize)
RV_STAGE_NONE
Definition:
RV_Type.h:444
UT_ComputeGPU.h
RV_UNIFORM_PUSH_CONSTANT
Definition:
RV_Type.h:218
RV_UNIFORM_FLOAT_VEC3
Definition:
RV_Type.h:247
RV_ACCEL_STRUCT_OPAQUE_OBJECT_VISIBLE
Definition:
RV_Type.h:469
RV_UNIFORM_MEMBER
Definition:
RV_Type.h:217
RV_TextureParms::Anisotropy
int Anisotropy
Definition:
RV_Type.h:176
RV_SHADER_RAY_TRACE
Definition:
RV_Type.h:423
RV_TextureParms::MaxLOD
fpreal MaxLOD
Definition:
RV_Type.h:171
RV_UNIFORM_DOUBLE_VEC3
Definition:
RV_Type.h:251
RV_UNIFORM_FLOAT_MAT4
Definition:
RV_Type.h:288
RV_UNIFORM_BOOL_VEC4
Definition:
RV_Type.h:285
RV_UNIFORM_BOOL_VEC3
Definition:
RV_Type.h:284
RV_IMAGE_3D
Definition:
RV_Type.h:125
RV_TextureParms::MaxHeight
exint MaxHeight
Definition:
RV_Type.h:165
RV_UNIFORM_HALF_MAT3
Definition:
RV_Type.h:291
RV_UNIFORM_IMAGE_RECTANGLE
Definition:
RV_Type.h:319
RV_UNIFORM_FINAL_OPAQUE_TYPE
Definition:
RV_Type.h:349
RV_AccelStructVisibility
RV_AccelStructVisibility
Definition:
RV_Type.h:467
RV
RV_Type.h
Generated on Wed Aug 5 2026 02:59:03 for HDK by
1.8.6