tokens.h
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the Apache License, Version 2.0 (the "Apache License")
5 // with the following modification; you may not use this file except in
6 // compliance with the Apache License and the following modification to it:
7 // Section 6. Trademarks. is deleted and replaced with:
8 //
9 // 6. Trademarks. This License does not grant permission to use the trade
10 // names, trademarks, service marks, or product names of the Licensor
11 // and its affiliates, except as required to comply with Section 4(c) of
12 // the License and to reproduce the content of the NOTICE file.
13 //
14 // You may obtain a copy of the Apache License at
15 //
16 // http://www.apache.org/licenses/LICENSE-2.0
17 //
18 // Unless required by applicable law or agreed to in writing, software
19 // distributed under the Apache License with the above modification is
20 // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21 // KIND, either express or implied. See the Apache License for the specific
22 // language governing permissions and limitations under the Apache License.
23 //
24 #ifndef PXR_IMAGING_HDX_TOKENS_H
25 #define PXR_IMAGING_HDX_TOKENS_H
26 
27 #include "pxr/pxr.h"
28 #include "pxr/imaging/hdx/api.h"
29 #include "pxr/imaging/hdx/version.h"
31 
32 PXR_NAMESPACE_OPEN_SCOPE
33 
34 
35 #define HDX_TOKENS \
36  (hdxOitCounterBuffer) \
37  (hdxOitDataBuffer) \
38  (hdxOitDepthBuffer) \
39  (hdxOitIndexBuffer) \
40  (hdxSelectionBuffer) \
41  (imagerVersion) \
42  (lightingContext) \
43  (lightingShader) \
44  (occludedSelectionOpacity) \
45  (oitCounter) \
46  (oitData) \
47  (oitDepth) \
48  (oitIndices) \
49  (oitUniforms) \
50  (oitCounterBufferBar) \
51  (oitDataBufferBar) \
52  (oitDepthBufferBar) \
53  (oitIndexBufferBar) \
54  (oitUniformBar) \
55  (oitRenderPassState) \
56  (oitScreenSize) \
57  (oitRequestFlag) \
58  (oitClearedFlag) \
59  (renderPassState) \
60  (renderIndexVersion) \
61  (selection) \
62  (selectionState) \
63  (selectionOffsets) \
64  (selectionUniforms) \
65  (selColor) \
66  (selLocateColor) \
67  (selectionPointColors) \
68  (drawTargetRenderPasses)
69 
70 TF_DECLARE_PUBLIC_TOKENS(HdxTokens, HDX_API, HDX_TOKENS);
71 
72 #define HDX_PRIMITIVE_TOKENS \
73  (lightTypePositional) \
74  (lightTypeDirectional) \
75  (lightTypeSpot) \
76  \
77  (aovInputTask) \
78  (drawTargetTask) \
79  (drawTargetResolveTask) \
80  (colorizeSelectionTask) \
81  (oitRenderTask) \
82  (oitResolveTask) \
83  (oitVolumeRenderTask) \
84  (pickTask) \
85  (pickFromRenderBufferTask) \
86  (presentTask) \
87  (renderTask) \
88  (renderSetupTask) \
89  (simpleLightTask) \
90  (shadowTask)
91 
92 TF_DECLARE_PUBLIC_TOKENS(HdxPrimitiveTokens, HDX_API, HDX_PRIMITIVE_TOKENS);
93 
94 // inCameraGuide is for guides for a camera that only show up when looking
95 // through that camera.
96 
97 #define HDX_RENDERTAG_TOKENS \
98  (renderingGuide) \
99  (label) \
100  (cameraGuide) \
101  (inCameraGuide) \
102  (streamline) \
103  (interactiveOnlyGeom) \
104  (path)
105 
106 TF_DECLARE_PUBLIC_TOKENS(HdxRenderTagTokens, HDX_API, HDX_RENDERTAG_TOKENS);
107 
108 #define HDX_COLOR_CORRECTION_TOKENS \
109  (disabled) \
110  (sRGB) \
111  (openColorIO) \
112  (channelsOnly)
113 
114 TF_DECLARE_PUBLIC_TOKENS(HdxColorCorrectionTokens, HDX_API,
115  HDX_COLOR_CORRECTION_TOKENS);
116 
117 // Color channels
118 #define HDX_COLOR_CHANNEL_TOKENS \
119  (color) \
120  (red) \
121  (green) \
122  (blue) \
123  (alpha) \
124  (luminance)
125 
126 TF_DECLARE_PUBLIC_TOKENS(HdxColorChannelTokens, HDX_API,
127  HDX_COLOR_CHANNEL_TOKENS);
128 
129 // Color channels
130 #define HDX_AOV_TOKENS \
131  /* colorIntermediate->colorIntermediate is used to ping-pong
132  * between two color targets when a task wishes to
133  * read from the color target and also write into it.
134  */ \
135  (colorIntermediate) \
136 
137 TF_DECLARE_PUBLIC_TOKENS(HdxAovTokens, HDX_API,
138  HDX_AOV_TOKENS);
139 
140 PXR_NAMESPACE_CLOSE_SCOPE
141 
142 #endif //PXR_IMAGING_HDX_TOKENS_H
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Definition: staticTokens.h:118
This file defines some macros that are useful for declaring and using static TfTokens.