HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
tokens.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_IMAGING_HD_ST_TOKENS_H
8 #define PXR_IMAGING_HD_ST_TOKENS_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/imaging/hdSt/api.h"
13 
15 
16 #define HDST_GLSL_PROGRAM_TOKENS \
17  (smoothNormalsFloatToFloat) \
18  (smoothNormalsFloatToPacked) \
19  (smoothNormalsDoubleToDouble) \
20  (smoothNormalsDoubleToPacked) \
21  (flatNormalsTriFloatToFloat) \
22  (flatNormalsTriFloatToPacked) \
23  (flatNormalsTriDoubleToDouble) \
24  (flatNormalsTriDoubleToPacked) \
25  (flatNormalsQuadFloatToFloat) \
26  (flatNormalsQuadFloatToPacked) \
27  (flatNormalsQuadDoubleToDouble) \
28  (flatNormalsQuadDoubleToPacked) \
29  (flatNormalsTriQuadFloatToFloat) \
30  (flatNormalsTriQuadFloatToPacked) \
31  (flatNormalsTriQuadDoubleToDouble) \
32  (flatNormalsTriQuadDoubleToPacked) \
33  (quadrangulateFloat) \
34  (quadrangulateDouble)
35 
36 #define HDST_TOKENS \
37  (constantLighting) \
38  (packedSmoothNormals) \
39  (smoothNormals) \
40  (packedFlatNormals) \
41  (flatNormals) \
42  (scale) \
43  (bias) \
44  (rotation) \
45  (translation) \
46  (sRGB) \
47  (raw) \
48  ((_double, "double")) \
49  ((_float, "float")) \
50  ((_int, "int")) \
51  ((colorSpaceAuto, "auto")) \
52  (fvarIndices) \
53  (fvarPatchParam) \
54  (coarseFaceIndex) \
55  (processedFaceCounts) \
56  (processedFaceIndices) \
57  (geomSubsetFaceIndices) \
58  (pointSizeScale) \
59  (screenSpaceWidths) \
60  (minScreenSpaceWidths) \
61  (shadowCompareTextures) \
62  (storm)
63 
64 #define HDST_TEXTURE_TOKENS \
65  (wrapS) \
66  (wrapT) \
67  (wrapR) \
68  (black) \
69  (clamp) \
70  (mirror) \
71  (repeat) \
72  (useMetadata) \
73  (minFilter) \
74  (magFilter) \
75  (linear) \
76  (nearest) \
77  (linearMipmapLinear) \
78  (linearMipmapNearest) \
79  (nearestMipmapLinear) \
80  (nearestMipmapNearest)
81 
82 #define HDST_RENDER_BUFFER_TOKENS \
83  ((stormMsaaSampleCount, "storm:msaaSampleCount"))
84 
85 #define HDST_RENDER_SETTINGS_TOKENS \
86  (enableTinyPrimCulling) \
87  (volumeRaymarchingStepSize) \
88  (volumeRaymarchingStepSizeLighting) \
89  (volumeMaxTextureMemoryPerField) \
90  (maxLights)
91 
92 // Material tags help bucket prims into different queues for draw submission.
93 // The tags supported by Storm are:
94 // defaultMaterialTag : opaque geometry
95 // masked : opaque geometry that uses cutout masks (e.g., foliage)
96 // displayInOverlay : geometry that should be drawn on top (e.g. guides)
97 // translucentToSelection: opaque geometry that allows occluded selection
98 // to show through
99 // additive : transparent geometry (cheap OIT solution w/o sorting)
100 // translucent: transparent geometry (OIT solution w/ sorted fragment lists)
101 // volume : transparent geoometry (raymarched)
102 #define HDST_MATERIAL_TAG_TOKENS \
103  (defaultMaterialTag) \
104  (masked) \
105  (displayInOverlay) \
106  (translucentToSelection) \
107  (additive) \
108  (translucent) \
109  (volume)
110 
111 #define HDST_SDR_METADATA_TOKENS \
112  (swizzle)
113 
114 #define HDST_PERF_TOKENS \
115  (copyBufferGpuToGpu) \
116  (copyBufferCpuToGpu) \
117  (drawItemsCacheHit) \
118  (drawItemsCacheMiss) \
119  (drawItemsCacheStale) \
120  (drawItemsFetched)
121 
122 TF_DECLARE_PUBLIC_TOKENS(HdStGLSLProgramTokens, HDST_API,
124 
126 
128 
129 TF_DECLARE_PUBLIC_TOKENS(HdStRenderBufferTokens, HDST_API,
131 
132 TF_DECLARE_PUBLIC_TOKENS(HdStRenderSettingsTokens, HDST_API,
134 
135 TF_DECLARE_PUBLIC_TOKENS(HdStMaterialTagTokens, HDST_API,
137 
138 TF_DECLARE_PUBLIC_TOKENS(HdStSdrMetadataTokens, HDST_API,
140 
142 
144 
145 #endif //PXR_IMAGING_HD_ST_TOKENS_H
#define HDST_TOKENS
Definition: tokens.h:36
#define HDST_RENDER_SETTINGS_TOKENS
Definition: tokens.h:85
#define HDST_PERF_TOKENS
Definition: tokens.h:114
#define HDST_SDR_METADATA_TOKENS
Definition: tokens.h:111
ARCH_PRAGMA_PUSH ARCH_PRAGMA_MACRO_TOO_FEW_ARGUMENTS TF_DECLARE_PUBLIC_TOKENS(GusdTokens, GUSD_TOKENS)
#define HDST_RENDER_BUFFER_TOKENS
Definition: tokens.h:82
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
#define HDST_API
Definition: api.h:23
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
#define HDST_GLSL_PROGRAM_TOKENS
Definition: tokens.h:16
#define HDST_TEXTURE_TOKENS
Definition: tokens.h:64
#define HDST_MATERIAL_TAG_TOKENS
Definition: tokens.h:102