All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
enums.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 HD_ENUMS_H
25 #define HD_ENUMS_H
26 
27 #include "pxr/pxr.h"
28 #include "pxr/imaging/hd/api.h"
29 
30 PXR_NAMESPACE_OPEN_SCOPE
31 
36 enum HdCompareFunction
37 {
38  HdCmpFuncNever,
39  HdCmpFuncLess,
40  HdCmpFuncEqual,
41  HdCmpFuncLEqual,
42  HdCmpFuncGreater,
43  HdCmpFuncNotEqual,
44  HdCmpFuncGEqual,
45  HdCmpFuncAlways,
46 
47  HdCmpFuncLast
48 };
49 
54 enum HdStencilOp
55 {
56  HdStencilOpKeep,
57  HdStencilOpZero,
58  HdStencilOpReplace,
59  HdStencilOpIncrement,
60  HdStencilOpIncrementWrap,
61  HdStencilOpDecrement,
62  HdStencilOpDecrementWrap,
63  HdStencilOpInvert,
64 
65  HdStencilOpLast
66 };
67 
72 enum HdBlendOp
73 {
74  HdBlendOpAdd,
75  HdBlendOpSubtract,
76  HdBlendOpReverseSubtract,
77  HdBlendOpMin,
78  HdBlendOpMax,
79 
80  HdBlendOpLast
81 };
82 
87 enum HdBlendFactor
88 {
89  HdBlendFactorZero,
90  HdBlendFactorOne,
91  HdBlendFactorSrcColor,
92  HdBlendFactorOneMinusSrcColor,
93  HdBlendFactorDstColor,
94  HdBlendFactorOneMinusDstColor,
95  HdBlendFactorSrcAlpha,
96  HdBlendFactorOneMinusSrcAlpha,
97  HdBlendFactorDstAlpha,
98  HdBlendFactorOneMinusDstAlpha,
99  HdBlendFactorConstantColor,
100  HdBlendFactorOneMinusConstantColor,
101  HdBlendFactorConstantAlpha,
102  HdBlendFactorOneMinusConstantAlpha,
103  HdBlendFactorSrcAlphaSaturate,
104  HdBlendFactorSrc1Color,
105  HdBlendFactorOneMinusSrc1Color,
106  HdBlendFactorSrc1Alpha,
107  HdBlendFactorOneMinusSrc1Alpha,
108 
109  HdBlendFactorLast
110 };
111 
122 enum HdCullStyle
123 {
124  HdCullStyleDontCare,
125  HdCullStyleNothing,
126  HdCullStyleBack,
127  HdCullStyleFront,
128  HdCullStyleBackUnlessDoubleSided,
129  HdCullStyleFrontUnlessDoubleSided
130 };
131 
134 HD_API
135 HdCullStyle HdInvertCullStyle(HdCullStyle cs);
136 
137 enum HdPolygonMode
138 {
139  HdPolygonModeFill,
140  HdPolygonModeLine
141 };
142 
147 enum HdMeshGeomStyle {
148  HdMeshGeomStyleInvalid,
149  HdMeshGeomStyleSurf,
150  HdMeshGeomStyleEdgeOnly,
151  HdMeshGeomStyleEdgeOnSurf,
152  HdMeshGeomStyleHull,
153  HdMeshGeomStyleHullEdgeOnly,
154  HdMeshGeomStyleHullEdgeOnSurf,
155  HdMeshGeomStylePoints
156 };
157 
158 enum HdBasisCurvesGeomStyle {
159  HdBasisCurvesGeomStyleInvalid,
160  HdBasisCurvesGeomStyleWire,
161  HdBasisCurvesGeomStylePatch,
162  HdBasisCurvesGeomStylePoints
163 };
164 
165 enum HdPointsGeomStyle {
166  HdPointsGeomStyleInvalid,
167  HdPointsGeomStylePoints
168 };
169 
183 enum HdWrap
184 {
185  HdWrapClamp,
186  HdWrapRepeat,
187  HdWrapBlack,
188  HdWrapMirror,
189  HdWrapUseMetadata,
190  HdWrapLegacy,
191 };
192 
206 enum HdMinFilter
207 {
208  HdMinFilterNearest,
209  HdMinFilterLinear,
210  HdMinFilterNearestMipmapNearest,
211  HdMinFilterLinearMipmapNearest,
212  HdMinFilterNearestMipmapLinear,
213  HdMinFilterLinearMipmapLinear,
214 };
215 
225 enum HdMagFilter
226 {
227  HdMagFilterNearest,
228  HdMagFilterLinear,
229 };
230 
255 enum HdInterpolation
256 {
257  HdInterpolationConstant = 0,
258  HdInterpolationUniform,
259  HdInterpolationVarying,
260  HdInterpolationVertex,
261  HdInterpolationFaceVarying,
262  HdInterpolationInstance,
263 
264  HdInterpolationCount
265 };
266 
281 enum class HdTextureType
282 {
283  Uv,
284  Uvw,
285  Ptex,
286  Udim
287 };
288 
297 enum HdDepthPriority
298 {
299  HdDepthPriorityNearest = 0,
300  HdDepthPriorityFarthest,
301 
302  HdDepthPriorityCount
303 };
304 
305 PXR_NAMESPACE_CLOSE_SCOPE
306 
307 #endif // HD_ENUMS_H