24 #ifndef PXR_IMAGING_HD_ST_SUBTEXTURE_IDENTIFIER_H
25 #define PXR_IMAGING_HD_ST_SUBTEXTURE_IDENTIFIER_H
28 #include "pxr/imaging/hdSt/api.h"
34 PXR_NAMESPACE_OPEN_SCOPE
51 virtual std::unique_ptr<HdStSubtextureIdentifier> Clone()
const = 0;
60 virtual ID _Hash()
const = 0;
93 ID _Hash()
const override;
120 bool premultiplyAlpha,
121 const TfToken& sourceColorSpace);
124 std::unique_ptr<HdStSubtextureIdentifier> Clone()
const override;
127 bool GetFlipVertically()
const {
return _flipVertically; }
130 bool GetPremultiplyAlpha()
const {
return _premultiplyAlpha; }
133 TfToken GetSourceColorSpace()
const {
return _sourceColorSpace; }
136 ~HdStAssetUvSubtextureIdentifier()
override;
140 ID _Hash()
const override;
143 bool _flipVertically;
144 bool _premultiplyAlpha;
178 ~HdStDynamicUvSubtextureIdentifier()
override;
181 std::unique_ptr<HdStSubtextureIdentifier> Clone()
const override;
190 ID _Hash()
const override;
208 std::unique_ptr<HdStSubtextureIdentifier> Clone()
const override;
211 bool GetPremultiplyAlpha()
const {
return _premultiplyAlpha; }
214 ~HdStPtexSubtextureIdentifier()
override;
218 ID _Hash()
const override;
221 bool _premultiplyAlpha;
238 const TfToken& sourceColorSpace);
241 std::unique_ptr<HdStSubtextureIdentifier> Clone()
const override;
244 bool GetPremultiplyAlpha()
const {
return _premultiplyAlpha; }
247 TfToken GetSourceColorSpace()
const {
return _sourceColorSpace; }
250 ~HdStUdimSubtextureIdentifier()
override;
254 ID _Hash()
const override;
257 bool _premultiplyAlpha;
261 PXR_NAMESPACE_CLOSE_SCOPE
virtual HDST_API HdStDynamicUvTextureImplementation * GetTextureImplementation() const
Textures can return their own HdStDynamicUvTextureImplementation to customize the load and commit beh...
Base class for additional information to identify a texture in a file that can contain several textur...
HDST_API HdStPtexSubtextureIdentifier(bool premultiplyAlpha)
C'tor takes bool whether to pre-multiply by alpha.
Used as a tag that the Storm texture system returns a HdStDynamicUvTextureObject that is populated by...
Specifies whether a UV texture should be loaded flipped vertically, whether it should be loaded with ...
Token for efficient comparison, assignment, and hashing of known strings.
Allows external clients to specify how a UV texture is loaded from, e.g., a file and how it is commit...
HDST_API int GetFieldIndex() const
Get field index.
HDST_API TfToken const & GetFieldName() const
Get field name.
HDST_API HdStAssetUvSubtextureIdentifier(bool flipVertically, bool premultiplyAlpha, const TfToken &sourceColorSpace)
C'tor takes bool whether flipping vertically, whether to pre-multiply by alpha, and the texture's sou...
Specifies whether a Ptex texture should be loaded with pre-multiplied alpha values.
Specifies whether a Udim texture should be loaded with pre-multiplied alpha values and the color spac...
Base class for information identifying a grid in a volume field file.
HDST_API HdStUdimSubtextureIdentifier(bool premultiplyAlpha, const TfToken &sourceColorSpace)
C'tor takes bool whether to pre-multiply by alpha and the texture's source color space.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...