25 #ifndef PXR_IMAGING_HGI_SHADERSECTION_H
26 #define PXR_IMAGING_HGI_SHADERSECTION_H
45 std::vector<HgiShaderSectionAttribute>;
65 virtual void WriteType(std::ostream& ss)
const;
89 return _identifierVar;
103 return !_blockInstanceIdentifier.empty();
GLsizei const GLchar *const * string
virtual HGI_API void WriteParameter(std::ostream &ss) const
Writes the section as a parameter to a function.
virtual HGI_API void WriteType(std::ostream &ss) const
std::vector< HgiShaderSectionAttribute > HgiShaderSectionAttributeVector
HGI_API HgiShaderSection(const std::string &identifier, const HgiShaderSectionAttributeVector &attributes={}, const std::string &defaultValue=std::string(), const std::string &arraySize=std::string(), const std::string &blockInstanceIdentifier=std::string())
virtual HGI_API void WriteArraySize(std::ostream &ss) const
Writes the arraySize to a function.
virtual HGI_API void WriteBlockInstanceIdentifier(std::ostream &ss) const
Writes the block instance name of an instance of the section.
const std::string & GetIdentifier() const
Returns the identifier of the section.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
virtual HGI_API void WriteDeclaration(std::ostream &ss) const
Writes a decleration statement for a member or in global scope.
bool HasBlockInstanceIdentifier() const
Returns whether the section has a block instance identifier.
#define PXR_NAMESPACE_CLOSE_SCOPE
virtual HGI_API ~HgiShaderSection()
const std::string & GetArraySize() const
Returns the arraySize of the section.
HGI_API const std::string & _GetDefaultValue() const
virtual HGI_API void WriteIdentifier(std::ostream &ss) const
Writes the unique name of an instance of the section.
HGI_API const HgiShaderSectionAttributeVector & GetAttributes() const
Returns the attributes of the section.