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 PXR_IMAGING_HD_ENUMS_H
25 #define PXR_IMAGING_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 
194 enum HdInterpolation
195 {
196  HdInterpolationConstant = 0,
197  HdInterpolationUniform,
198  HdInterpolationVarying,
199  HdInterpolationVertex,
200  HdInterpolationFaceVarying,
201  HdInterpolationInstance,
202 
203  HdInterpolationCount
204 };
205 
221 enum class HdTextureType
222 {
223  Uv,
224  Field,
225  Ptex,
226  Udim
227 };
228 
237 enum HdDepthPriority
238 {
239  HdDepthPriorityNearest = 0,
240  HdDepthPriorityFarthest,
241 
242  HdDepthPriorityCount
243 };
244 
245 PXR_NAMESPACE_CLOSE_SCOPE
246 
247 #endif // PXR_IMAGING_HD_ENUMS_H