24 #ifndef PXR_IMAGING_HGI_GRAPHICS_PIPELINE_H 25 #define PXR_IMAGING_HGI_GRAPHICS_PIPELINE_H 28 #include "pxr/imaging/hgi/api.h" 29 #include "pxr/imaging/hgi/attachmentDesc.h" 30 #include "pxr/imaging/hgi/enums.h" 31 #include "pxr/imaging/hgi/handle.h" 32 #include "pxr/imaging/hgi/resourceBindings.h" 33 #include "pxr/imaging/hgi/shaderProgram.h" 34 #include "pxr/imaging/hgi/types.h" 41 PXR_NAMESPACE_OPEN_SCOPE
64 uint32_t shaderBindLocation;
66 using HgiVertexAttributeDescVector = std::vector<HgiVertexAttributeDesc>;
99 uint32_t bindingIndex;
100 HgiVertexAttributeDescVector vertexAttributes;
101 HgiVertexBufferStepFunction vertexStepFunction;
102 uint32_t vertexStride;
104 using HgiVertexBufferDescVector = std::vector<HgiVertexBufferDesc>;
140 bool multiSampleEnable;
141 bool alphaToCoverageEnable;
142 bool alphaToOneEnable;
143 HgiSampleCount sampleCount;
189 HgiPolygonMode polygonMode;
191 HgiCullMode cullMode;
193 bool rasterizerEnabled;
194 bool depthClampEnabled;
196 bool conservativeRaster;
197 size_t numClipDistances;
238 HgiCompareFunction compareFn;
239 uint32_t referenceValue;
240 HgiStencilOp stencilFailOp;
241 HgiStencilOp depthFailOp;
242 HgiStencilOp depthStencilPassOp;
291 bool depthTestEnabled;
292 bool depthWriteEnabled;
293 HgiCompareFunction depthCompareFn;
295 bool depthBiasEnabled;
296 float depthBiasConstantFactor;
297 float depthBiasSlopeFactor;
299 bool stencilTestEnabled;
330 HgiShaderStage stageUsage;
343 struct HgiTessellationLevel
346 HgiTessellationLevel();
348 float innerTessLevel[2];
349 float outerTessLevel[4];
376 int primitiveIndexSize;
377 HgiTessellationLevel tessellationLevel;
419 std::string debugName;
420 HgiPrimitiveType primitiveType;
425 HgiVertexBufferDescVector vertexBuffers;
426 HgiAttachmentDescVector colorAttachmentDescs;
427 HgiAttachmentDescVector colorResolveAttachmentDescs;
478 using HgiGraphicsPipelineHandleVector = std::vector<HgiGraphicsPipelineHandle>;
481 PXR_NAMESPACE_CLOSE_SCOPE
Describes the properties of a framebuffer attachment.
AR_API bool operator!=(const ArAssetInfo &lhs, const ArAssetInfo &rhs)
AR_API bool operator==(const ArAssetInfo &lhs, const ArAssetInfo &rhs)
A small, but fast buffer of uniform data for shaders.
Properties to configure multi sampling.
Describes one attribute of a vertex.
Represents a graphics platform independent GPU graphics pipeline resource.
stencilFailOp: The operation executed when the stencil test fails.
Properties to configure tessellation.
HGI_API HgiGraphicsPipelineDesc const & GetDescriptor() const
The descriptor describes the object.
Properties to configure the rasterization state.
Basic type for a vector of 2 float components.
Properties to configure depth and stencil test.
Describes the attributes of a vertex buffer.
Describes the properties needed to create a GPU pipeline.