25 #ifndef PXR_IMAGING_HGI_SHADERFUNCTIONDESC_H
26 #define PXR_IMAGING_HGI_SHADERFUNCTIONDESC_H
80 std::vector<HgiShaderFunctionTextureDesc>;
125 std::vector<HgiShaderFunctionBufferDesc>;
180 std::vector<HgiShaderFunctionParamDesc>;
229 std::vector<HgiShaderFunctionParamBlockDesc>;
446 std::vector<HgiShaderFunctionTextureDesc>
textures;
447 std::vector<HgiShaderFunctionBufferDesc>
buffers;
461 std::vector<HgiShaderFunctionDesc>;
479 const uint32_t bindIndex = 0,
480 uint32_t dimensions = 2,
490 const uint32_t arraySize,
491 const uint32_t bindIndex = 0,
492 const uint32_t dimensions = 2,
502 const uint32_t bindIndex = 0,
503 const uint32_t dimensions = 2,
514 const uint32_t bindIndex,
516 const uint32_t arraySize = 0);
525 const uint32_t bindIndex);
std::vector< HgiShaderFunctionParamDesc > HgiShaderFunctionParamDescVector
std::string * generatedShaderCodeOut
HGI_API HgiShaderFunctionTextureDesc()
std::vector< HgiShaderFunctionParamDesc > constantParams
GLsizei const GLchar *const * string
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
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
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())