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>
72 virtual bool IsValid()
const = 0;
107 virtual void _Load() = 0;
135 size_t _targetMemory;
160 return _wrapParameters;
177 const std::pair<
HdWrap, HdWrap> &wrapParameters);
192 std::pair<HdWrap, HdWrap> _wrapParameters;
193 std::unique_ptr<HdStTextureCpuData> _cpuData;
211 ~HdStAssetUvTextureObject()
override;
218 void _Load()
override;
240 ~HdStFieldTextureObject()
override;
261 return _samplingTransform;
275 void _Load()
override;
281 std::unique_ptr<HdStTextureCpuData> _cpuData;
288 template<HdStTextureType textureType>
296 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
#define PXR_NAMESPACE_OPEN_SCOPE
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)
virtual HDST_API size_t GetCommittedSize() const =0
Returns the actual amount of memory committed to the GPU.
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 size_t GetCommittedSize() const override
Returns the actual amount of memory committed to the GPU.
HDST_API HdStResourceRegistry * _GetResourceRegistry() const
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)