8 #ifndef PXR_IMAGING_HGI_SHADERFUNCTIONDESC_H
9 #define PXR_IMAGING_HGI_SHADERFUNCTIONDESC_H
63 std::vector<HgiShaderFunctionTextureDesc>;
108 std::vector<HgiShaderFunctionBufferDesc>;
163 std::vector<HgiShaderFunctionParamDesc>;
214 std::vector<HgiShaderFunctionParamBlockDesc>;
431 std::vector<HgiShaderFunctionTextureDesc>
textures;
432 std::vector<HgiShaderFunctionBufferDesc>
buffers;
446 std::vector<HgiShaderFunctionDesc>;
463 const std::string &nameInShader,
464 const uint32_t bindIndex = 0,
465 uint32_t dimensions = 2,
474 const std::string &nameInShader,
475 const uint32_t arraySize,
476 const uint32_t bindIndex = 0,
477 const uint32_t dimensions = 2,
486 const std::string &nameInShader,
487 const uint32_t bindIndex = 0,
488 const uint32_t dimensions = 2,
497 const std::string &nameInShader,
498 const std::string &
type,
499 const uint32_t bindIndex,
501 const uint32_t arraySize = 0);
508 const std::string &nameInShader,
509 const std::string &
type,
510 const uint32_t bindIndex);
518 const std::string &nameInShader,
519 const std::string &
type,
520 const std::string &role = std::string());
529 const std::string &nameInShader,
530 const std::string &type,
531 const std::string &role = std::string());
546 const std::string &nameInShader,
547 const std::string &type,
548 const std::string &arraySize);
556 const std::string &nameInShader,
557 const std::string &type,
558 const std::string &role = std::string(),
559 const std::string &arraySize = std::string());
567 const std::string &nameInShader,
568 const std::string &type,
std::vector< HgiShaderFunctionParamDesc > HgiShaderFunctionParamDescVector
std::string * generatedShaderCodeOut
HGI_API HgiShaderFunctionTextureDesc()
std::vector< HgiShaderFunctionParamDesc > constantParams
const char * shaderCodeDeclarations
HGI_API void HgiShaderFunctionAddWritableTexture(HgiShaderFunctionDesc *desc, const std::string &nameInShader, const uint32_t bindIndex=0, const uint32_t dimensions=2, const HgiFormat &format=HgiFormatFloat32Vec4, const HgiShaderTextureType textureType=HgiShaderTextureTypeTexture)
Adds writable texture descriptor to given shader function descriptor.
std::vector< HgiShaderFunctionParamDesc > stageGlobalMembers
std::vector< HgiShaderFunctionTextureDesc > textures
HgiShaderFunctionFragmentDesc fragmentDescriptor
HgiShaderFunctionComputeDesc computeDescriptor
std::vector< HgiShaderFunctionParamDesc > stageOutputs
HGI_API void HgiShaderFunctionAddArrayOfTextures(HgiShaderFunctionDesc *desc, const std::string &nameInShader, const uint32_t arraySize, const uint32_t bindIndex=0, const uint32_t dimensions=2, const HgiFormat &format=HgiFormatFloat32Vec4, const HgiShaderTextureType textureType=HgiShaderTextureTypeTexture)
Adds array of textures descriptor to given shader function descriptor.
std::vector< HgiShaderFunctionTextureDesc > HgiShaderFunctionTextureDescVector
HgiShaderFunctionGeometryDesc geometryDescriptor
HGI_API void HgiShaderFunctionAddGlobalVariable(HgiShaderFunctionDesc *desc, const std::string &nameInShader, const std::string &type, const std::string &arraySize)
Interstage input.
std::vector< HgiShaderFunctionDesc > HgiShaderFunctionDescVector
std::vector< HgiShaderFunctionParamBlockDesc > HgiShaderFunctionParamBlockDescVector
HgiInterpolationType interpolation
std::vector< HgiShaderFunctionParamBlockDesc > stageInputBlocks
GLint GLint GLsizei GLint GLenum GLenum type
HgiShaderStage shaderStage
HgiShaderFunctionTessellationDesc tessellationDescriptor
std::string outMaxVertices
GLint GLint GLsizei GLint GLenum format
HGI_API HgiShaderFunctionDesc()
HGI_API HgiShaderFunctionBufferDesc()
HgiShaderTextureType textureType
bool operator!=(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Inequality operator, does exact floating point comparisons.
OutPrimitiveType outPrimitiveType
HGI_API HgiShaderFunctionFragmentDesc()
HGI_API void HgiShaderFunctionAddTexture(HgiShaderFunctionDesc *desc, const std::string &nameInShader, const uint32_t bindIndex=0, uint32_t dimensions=2, const HgiFormat &format=HgiFormatFloat32Vec4, const HgiShaderTextureType textureType=HgiShaderTextureTypeTexture)
Adds texture descriptor to given shader function descriptor.
HGI_API void HgiShaderFunctionAddConstantParam(HgiShaderFunctionDesc *desc, const std::string &nameInShader, const std::string &type, const std::string &role=std::string())
HGI_API void HgiShaderFunctionAddBuffer(HgiShaderFunctionDesc *desc, const std::string &nameInShader, const std::string &type, const uint32_t bindIndex, HgiBindingType binding, const uint32_t arraySize=0)
Adds buffer descriptor to given shader function descriptor.
std::vector< Member > MemberVector
std::vector< HgiShaderFunctionParamBlockDesc > stageOutputBlocks
HGI_API HgiShaderFunctionParamDesc()
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
std::vector< HgiShaderFunctionBufferDesc > HgiShaderFunctionBufferDescVector
std::vector< HgiShaderFunctionBufferDesc > buffers
HGI_API HgiShaderFunctionComputeDesc()
HGI_API HgiShaderFunctionGeometryDesc()
#define PXR_NAMESPACE_CLOSE_SCOPE
HGI_API void HgiShaderFunctionAddStageOutput(HgiShaderFunctionDesc *desc, const std::string &nameInShader, const std::string &type, const std::string &role=std::string(), const std::string &arraySize=std::string())
HGI_API HgiShaderFunctionTessellationDesc()
std::vector< HgiShaderFunctionParamDesc > stageInputs
HgiInterpolationType interpolation
HGI_API HgiShaderFunctionParamBlockDesc()
InPrimitiveType inPrimitiveType
std::string numVertsPerPatchIn
std::string numVertsPerPatchOut
HGI_API void HgiShaderFunctionAddWritableBuffer(HgiShaderFunctionDesc *desc, const std::string &nameInShader, const std::string &type, const uint32_t bindIndex)
Adds buffer descriptor to given shader function descriptor.
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
HGI_API void HgiShaderFunctionAddStageInput(HgiShaderFunctionDesc *desc, const std::string &nameInShader, const std::string &type, const std::string &role=std::string())