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  (domeLightCubemapTargetMemory)
92 
93 // Material tags help bucket prims into different queues for draw submission.
94 // The tags supported by Storm are:
95 // defaultMaterialTag : opaque geometry
96 // masked : opaque geometry that uses cutout masks (e.g., foliage)
97 // displayInOverlay : geometry that should be drawn on top (e.g. guides)
98 // translucentToSelection: opaque geometry that allows occluded selection
99 // to show through
100 // additive : transparent geometry (cheap OIT solution w/o sorting)
101 // translucent: transparent geometry (OIT solution w/ sorted fragment lists)
102 // volume : transparent geoometry (raymarched)
103 #define HDST_MATERIAL_TAG_TOKENS \
104  (defaultMaterialTag) \
105  (masked) \
106  (displayInOverlay) \
107  (translucentToSelection) \
108  (additive) \
109  (translucent) \
110  (volume)
111 
112 #define HDST_SDR_METADATA_TOKENS \
113  (swizzle)
114 
115 #define HDST_PERF_TOKENS \
116  (copyBufferGpuToGpu) \
117  (copyBufferCpuToGpu) \
118  (drawItemsCacheHit) \
119  (drawItemsCacheMiss) \
120  (drawItemsCacheStale) \
121  (drawItemsFetched)
122 
123 TF_DECLARE_PUBLIC_TOKENS(HdStGLSLProgramTokens, HDST_API,
125 
127 
129 
130 TF_DECLARE_PUBLIC_TOKENS(HdStRenderBufferTokens, HDST_API,
132 
133 TF_DECLARE_PUBLIC_TOKENS(HdStRenderSettingsTokens, HDST_API,
135 
136 TF_DECLARE_PUBLIC_TOKENS(HdStMaterialTagTokens, HDST_API,
138 
139 TF_DECLARE_PUBLIC_TOKENS(HdStSdrMetadataTokens, HDST_API,
141 
143 
145 
146 #endif //PXR_IMAGING_HD_ST_TOKENS_H
#define HDST_TOKENS
Definition: tokens.h:36
#define PXR_NAMESPACE_OPEN_SCOPE
Definition: pxr.h:73
#define HDST_RENDER_SETTINGS_TOKENS
Definition: tokens.h:85
#define HDST_PERF_TOKENS
Definition: tokens.h:115
#define HDST_SDR_METADATA_TOKENS
Definition: tokens.h:112
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
#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:103