Loading...
Searching...
No Matches
tokens.h
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
14PXR_NAMESPACE_OPEN_SCOPE
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
122TF_DECLARE_PUBLIC_TOKENS(HdStGLSLProgramTokens, HDST_API,
123 HDST_GLSL_PROGRAM_TOKENS);
124
125TF_DECLARE_PUBLIC_TOKENS(HdStTokens, HDST_API, HDST_TOKENS);
126
127TF_DECLARE_PUBLIC_TOKENS(HdStTextureTokens, HDST_API, HDST_TEXTURE_TOKENS);
128
129TF_DECLARE_PUBLIC_TOKENS(HdStRenderBufferTokens, HDST_API,
130 HDST_RENDER_BUFFER_TOKENS);
131
132TF_DECLARE_PUBLIC_TOKENS(HdStRenderSettingsTokens, HDST_API,
133 HDST_RENDER_SETTINGS_TOKENS);
134
135TF_DECLARE_PUBLIC_TOKENS(HdStMaterialTagTokens, HDST_API,
136 HDST_MATERIAL_TAG_TOKENS);
137
138TF_DECLARE_PUBLIC_TOKENS(HdStSdrMetadataTokens, HDST_API,
139 HDST_SDR_METADATA_TOKENS);
140
141TF_DECLARE_PUBLIC_TOKENS(HdStPerfTokens, HDST_API, HDST_PERF_TOKENS);
142
143PXR_NAMESPACE_CLOSE_SCOPE
144
145#endif //PXR_IMAGING_HD_ST_TOKENS_H
This file defines some macros that are useful for declaring and using static TfTokens.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Definition: staticTokens.h:92