7 #ifndef PXR_IMAGING_HD_ST_TEXTURE_OBJECT_H
8 #define PXR_IMAGING_HD_ST_TEXTURE_OBJECT_H
42 public std::enable_shared_from_this<HdStTextureObject>
68 virtual bool IsValid()
const = 0;
103 virtual void _Load() = 0;
131 size_t _targetMemory;
156 return _wrapParameters;
170 const std::pair<
HdWrap, HdWrap> &wrapParameters);
185 std::pair<HdWrap, HdWrap> _wrapParameters;
186 std::unique_ptr<HdStTextureCpuData> _cpuData;
203 ~HdStAssetUvTextureObject()
override;
210 void _Load()
override;
232 ~HdStFieldTextureObject()
override;
253 return _samplingTransform;
264 void _Load()
override;
270 std::unique_ptr<HdStTextureCpuData> _cpuData;
277 template<HdStTextureType textureType>
285 template<HdStTextureType textureType>
HDST_API bool _GetPremultiplyAlpha(const HdStSubtextureIdentifier *const subId) const
*get result *(waiting if necessary)*A common idiom is to fire a bunch of sub tasks at the and then *wait for them to all complete We provide a helper class
virtual HDST_API void _Load()=0
HDST_API void _SetCpuData(std::unique_ptr< HdStTextureCpuData > &&)
int HgiHandle< class HgiTexture > HgiTextureHandle
HDST_API HdStTextureType GetTextureType() const overridefinal
HDST_API void _DestroyTexture()
HDST_API void _AdjustTotalTextureMemory(int64_t memDiff)
const GfBBox3d & GetBoundingBox() const
HDST_API void _AddToTotalTextureMemory(const HgiTextureHandle &texture)
HDST_API Hgi * _GetHgi() const
HdStTextureObject(const HdStTextureIdentifier &textureId, HdSt_TextureObjectRegistry *textureObjectRegistry)
HDST_API HdStUvTextureObject(const HdStTextureIdentifier &textureId, HdSt_TextureObjectRegistry *textureObjectRegistry)
virtual HDST_API ~HdStTextureObject()
HgiTextureHandle const & GetTexture() const
HDST_API void _SetWrapParameters(const std::pair< HdWrap, HdWrap > &wrapParameters)
const HdStTextureIdentifier & GetTextureIdentifier() const
HDST_API HdStTextureCpuData * _GetCpuData() const
std::shared_ptr< class HdStTextureObject > HdStTextureObjectSharedPtr
HDST_API void SetTargetMemory(size_t)
HDST_API HdStResourceRegistry * _GetResourceRegistry() const
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
HDST_API void _SubtractFromTotalTextureMemory(const HgiTextureHandle &texture)
virtual HDST_API bool IsValid() const =0
HDST_API HioImage::SourceColorSpace _GetSourceColorSpace(const HdStSubtextureIdentifier *const subId) const
HDST_API void _GenerateMipmaps()
const GfMatrix4d & GetSamplingTransform() const
HgiTextureHandle const & GetTexture() const
virtual HDST_API void _Commit()=0
#define PXR_NAMESPACE_CLOSE_SCOPE
HDST_API std::string _GetDebugName(const HdStTextureIdentifier &textureId) const
virtual HDST_API HdStTextureType GetTextureType() const =0
HDST_API ~HdStUvTextureObject() override
size_t GetTargetMemory() const
const std::pair< HdWrap, HdWrap > & GetWrapParameters() const
HDST_API void _CreateTexture(const HgiTextureDesc &desc)