HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
enums.h
Go to the documentation of this file.
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 
31 
32 /// \enum HdCompareFunction
33 ///
34 /// Abstraction of the Graphics compare functions.
35 ///
37 {
46 
48 };
49 
50 /// \enum HdStencilOp
51 ///
52 /// Abstraction of the Graphics stencil test operations.
53 ///
55 {
64 
66 };
67 
68 /// \enum HdBlendOp
69 ///
70 /// Abstraction of the Graphics blend operations.
71 ///
73 {
79 
81 };
82 
83 /// \enum HdBlendFactor
84 ///
85 /// Abstraction of the Graphics blend factors.
86 ///
88 {
108 
110 };
111 
112 /// \enum HdCullStyle
113 ///
114 /// Face culling options.
115 ///
116 /// DontCare indicates this prim doesn't determine what should be culled.
117 /// Any other CullStyle opinion will override this (such as from the viewer).
118 ///
119 /// BackUnlessDoubleSided and FrontUnlessDoubleSided will only cull back or
120 /// front faces if prim isn't marked as doubleSided.
121 ///
123 {
130 };
131 
132 /// Returns the opposite of the given cullstyle; backface culling becomes
133 /// frontface and vice versa.
134 HD_API
136 
138 {
141 };
142 
143 /// \enum HdMeshGeomStyle
144 ///
145 /// Hydra native geom styles.
146 ///
156 };
157 
163 };
164 
168 };
169 
170 /// \enum HdWrap
171 ///
172 /// Enumerates wrapping attributes type values.
173 ///
174 /// <ul>
175 /// <li>\b HdWrapClamp Clamp coordinate to range [1/(2N),1-1/(2N)] where N is the size of the texture in the direction of clamping</li>
176 /// <li>\b HdWrapRepeat Creates a repeating pattern</li>
177 /// <li>\b HdWrapBlack Clamp coordinate to range [-1/(2N),1+1/(2N)] where N is the size of the texture in the direction of clamping</li>
178 /// <li>\b HdWrapMirror Creates a mirrored repeating pattern.</li>
179 /// <li>\b HdWrapUseMetadata Data Texture can define its own wrap mode, if not defined by the texture it will use HdWrapBlack</li>
180 /// <li>\b HdWrapLegacy (deprecated) Texture can define its own wrap mode, if not defined by the texture it will use HdWrapRepeat</li>
181 /// </ul>
182 ///
183 enum HdWrap
184 {
191 };
192 
193 /// \enum HdMinFilter
194 ///
195 /// Enumerates minFilter attribute type values.
196 ///
197 /// <ul>
198 /// <li>\b HdMinFilterNearest Nearest to center of the pixel</li>
199 /// <li>\b HdMinFilterLinear Weighted average od the four texture elements closest to the pixel</li>
200 /// <li>\b HdMinFilterNearestMipmapNearest Nearest to center of the pixel from the nearest mipmaps</li>
201 /// <li>\b HdMinFilterLinearMipmapNeares Weighted average using texture elements from the nearest mipmaps</li>
202 /// <li>\b HdMinFilterNearestMipmapLinear Weighted average of the nearest pixels from the two nearest mipmaps</li>
203 /// <li>\b HdMinFilterLinearMipmapLinear WeightedAverage of the weighted averages from the nearest mipmaps</li>
204 /// </ul>
205 ///
207 {
214 };
215 
216 /// \enum HdMagFilter
217 ///
218 /// Enumerates magFilter attribute type values.
219 ///
220 /// <ul>
221 /// <li>HdFilterNearest Nearest to center of the pixel</li>
222 /// <li>HdFilterLinear Weighted average of the four texture elements closest to the pixel</li>
223 /// </ul>
224 ///
226 {
229 };
230 
231 ///
232 /// \enum HdInterpolation
233 ///
234 /// Enumerates Hydra's primvar interpolation modes.
235 ///
236 /// Constant: One value remains constant over the entire surface primitive.
237 ///
238 /// Uniform: One value remains constant for each uv patch segment of the
239 /// surface primitive.
240 ///
241 /// Varying: Four values are interpolated over each uv patch segment of
242 /// the surface. Bilinear interpolation is used for interpolation
243 /// between the four values.
244 ///
245 /// Vertex: Values are interpolated between each vertex in the surface
246 /// primitive. The basis function of the surface is used for
247 /// interpolation between vertices.
248 ///
249 /// Facevarying: For polygons and subdivision surfaces, four values are
250 /// interpolated over each face of the mesh. Bilinear interpolation
251 /// is used for interpolation between the four values.
252 ///
253 /// Instance: One value remains constant across each instance.
254 ///
256 {
263 
265 };
266 
267 ///
268 /// \enum HdTextureType
269 /// Enumerates Hydra's supported texture types.
270 ///
271 /// Uv: Sample the uv coordinates and accesses a single 2d texture.
272 ///
273 /// Uvw: Sample the uvw coordinates and accesses a single 3d texture.
274 ///
275 /// Ptex: Use the ptex connectivity information to sample a ptex texture.
276 ///
277 /// Udim: Remap the uv coordinates into udim coordinates using a maximum
278 /// tile width of 10 and sample all the udim tiles found in the
279 /// file system.
280 ///
281 enum class HdTextureType
282 {
283  Uv,
284  Uvw,
285  Ptex,
286  Udim
287 };
288 
289 /// \enum HdDepthPriority
290 /// Sets the priorities for a depth based operation
291 ///
292 /// <ul>
293 /// <li>HdDepthPriorityNearest Prioritize objects nearest to the camera</li>
294 /// <li>HdDepthPriorityFarthest Prioritize objects farthest from the camera</li>
295 /// </ul>
296 ///
298 {
301 
303 };
304 
306 
307 #endif // HD_ENUMS_H
HdCompareFunction
Definition: enums.h:36
HdCullStyle
Definition: enums.h:122
HdDepthPriority
Definition: enums.h:297
HdPolygonMode
Definition: enums.h:137
#define HD_API
Definition: api.h:40
HdBlendFactor
Definition: enums.h:87
HD_API HdCullStyle HdInvertCullStyle(HdCullStyle cs)
HdMinFilter
Definition: enums.h:206
HdTextureType
Definition: enums.h:281
HdMagFilter
Definition: enums.h:225
HdMeshGeomStyle
Definition: enums.h:147
HdStencilOp
Definition: enums.h:54
HdPointsGeomStyle
Definition: enums.h:165
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1245
HdWrap
Definition: enums.h:183
HdInterpolation
Definition: enums.h:255
HdBasisCurvesGeomStyle
Definition: enums.h:158
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:83
HdBlendOp
Definition: enums.h:72