![]() |
Base class for a texture object. More...
Public Member Functions | |
const HdStTextureIdentifier & | GetTextureIdentifier () const |
Get texture identifier. More... | |
size_t | GetTargetMemory () const |
Get the target memory for the texture. More... | |
HDST_API void | SetTargetMemory (size_t) |
Set the target memory (in bytes). More... | |
virtual HDST_API bool | IsValid () const =0 |
Is texture valid? Only correct after commit phase. More... | |
virtual HDST_API HdTextureType | GetTextureType () const =0 |
Get texture type. More... | |
Protected Member Functions | |
HdStTextureObject (const HdStTextureIdentifier &textureId, HdSt_TextureObjectRegistry *textureObjectRegistry) | |
HDST_API HdStResourceRegistry * | _GetResourceRegistry () const |
HDST_API Hgi * | _GetHgi () const |
HDST_API std::string | _GetDebugName (const HdStTextureIdentifier &textureId) const |
HDST_API bool | _GetPremultiplyAlpha (const HdStSubtextureIdentifier *const subId) const |
HDST_API HioImage::SourceColorSpace | _GetSourceColorSpace (const HdStSubtextureIdentifier *const subId) const |
virtual HDST_API void | _Load ()=0 |
Load texture to CPU (thread-safe) More... | |
virtual HDST_API void | _Commit ()=0 |
Commit texture to GPU (not thread-safe) More... | |
HDST_API void | _AdjustTotalTextureMemory (int64_t memDiff) |
Add signed number to total texture memory amount maintained by registry. More... | |
HDST_API void | _AddToTotalTextureMemory (const HgiTextureHandle &texture) |
Compute memory of texture and add to total texture memory amount maintained by registry. More... | |
HDST_API void | _SubtractFromTotalTextureMemory (const HgiTextureHandle &texture) |
Compute memory of texture and subtract to total texture memory amount maintained by registry. More... | |
Base class for a texture object.
The actual GPU resources will be allocated during the commit phase.
Definition at line 58 of file textureObject.h.
|
protected |
Compute memory of texture and add to total texture memory amount maintained by registry.
|
protected |
Add signed number to total texture memory amount maintained by registry.
|
protectedpure virtual |
Commit texture to GPU (not thread-safe)
Implemented in HdStFieldTextureObject, HdStDynamicUvTextureObject, HdStPtexTextureObject, and HdStUdimTextureObject.
|
protectedpure virtual |
Load texture to CPU (thread-safe)
Implemented in HdStFieldTextureObject, HdStDynamicUvTextureObject, HdStPtexTextureObject, and HdStUdimTextureObject.
|
protected |
Compute memory of texture and subtract to total texture memory amount maintained by registry.
|
inline |
Get the target memory for the texture.
Definition at line 69 of file textureObject.h.
|
inline |
Get texture identifier.
Definition at line 65 of file textureObject.h.
|
pure virtual |
Get texture type.
Implemented in HdStFieldTextureObject, HdStUvTextureObject, HdStPtexTextureObject, and HdStUdimTextureObject.
|
pure virtual |
Is texture valid? Only correct after commit phase.
E.g., no file at given file path. Consulted by clients to determine whether to use the fallback value.
Implemented in HdStFieldTextureObject, HdStDynamicUvTextureObject, HdStPtexTextureObject, and HdStUdimTextureObject.
HDST_API void SetTargetMemory | ( | size_t | ) |
Set the target memory (in bytes).
When uploading the texture to the GPU, it will be downsampled to meet this target memory.