HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdStDynamicUvTextureObject Class Referencefinal

#include <dynamicUvTextureObject.h>

+ Inheritance diagram for HdStDynamicUvTextureObject:

Public Member Functions

HDST_API HdStDynamicUvTextureObject (const HdStTextureIdentifier &textureId, HdSt_TextureObjectRegistry *textureObjectRegistry)
 
HDST_API ~HdStDynamicUvTextureObject () override
 
HDST_API void CreateTexture (const HgiTextureDesc &desc)
 
HDST_API HgiTextureHandle constGetTexture () const override
 
HDST_API const std::pair
< HdWrap, HdWrap > & 
GetWrapParameters () const override
 
HDST_API bool IsValid () const override
 
- Public Member Functions inherited from HdStUvTextureObject
HDST_API HdTextureType GetTextureType () const overridefinal
 
- Public Member Functions inherited from HdStTextureObject
HDST_API const
HdStTextureIdentifier
GetTextureIdentifier () const
 
HDST_API size_t GetTargetMemory () const
 
HDST_API void SetTargetMemory (size_t)
 
virtual HDST_API ~HdStTextureObject ()
 

Protected Member Functions

HDST_API void _Load () override
 
HDST_API void _Commit () override
 
- Protected Member Functions inherited from HdStUvTextureObject
 HdStUvTextureObject (const HdStTextureIdentifier &textureId, HdSt_TextureObjectRegistry *textureObjectRegistry)
 
- Protected Member Functions inherited from HdStTextureObject
 HdStTextureObject (const HdStTextureIdentifier &textureId, HdSt_TextureObjectRegistry *textureObjectRegistry)
 
Hgi_GetHgi () const
 

Detailed Description

A uv texture that is managed but not populated by the Storm texture system.

Clients can allocate an instance of this class through HdStResourceRegistry::AllocateTextureHandle or AllocateTextureObject by passing an HdStTextureIdentifier with a HdStDynamicUvSubtextureIdentifier.

The client can allocate the GPU resource with CreateTexture and populate it by either giving data in the HgiTextureDesc or binding the texture as target for a computation or render.

Bindless texture sampler handles can only be created correctly if a client has created the texture before the texture commit phase is finished.

Definition at line 54 of file dynamicUvTextureObject.h.

Constructor & Destructor Documentation

HDST_API HdStDynamicUvTextureObject::HdStDynamicUvTextureObject ( const HdStTextureIdentifier textureId,
HdSt_TextureObjectRegistry textureObjectRegistry 
)
HDST_API HdStDynamicUvTextureObject::~HdStDynamicUvTextureObject ( )
override

Member Function Documentation

HDST_API void HdStDynamicUvTextureObject::_Commit ( )
overrideprotectedvirtual

Commit texture to GPU (not thread-safe)

Implements HdStTextureObject.

HDST_API void HdStDynamicUvTextureObject::_Load ( )
overrideprotectedvirtual

Load texture to CPU (thread-safe)

Implements HdStTextureObject.

HDST_API void HdStDynamicUvTextureObject::CreateTexture ( const HgiTextureDesc desc)

Allocate GPU resource using the texture descriptor. Populate if data are given in the descriptor.

HDST_API HgiTextureHandle const& HdStDynamicUvTextureObject::GetTexture ( ) const
inlineoverridevirtual

Get the handle to the actual GPU resource.

Only valid after CreateTexture has been called.

Implements HdStUvTextureObject.

Definition at line 76 of file dynamicUvTextureObject.h.

HDST_API const std::pair<HdWrap, HdWrap>& HdStDynamicUvTextureObject::GetWrapParameters ( ) const
overridevirtual

Just returns HdWrapNoOpinion.

Implements HdStUvTextureObject.

HDST_API bool HdStDynamicUvTextureObject::IsValid ( ) const
overridevirtual

Always returns true - so that samplers for this texture are created.

Implements HdStTextureObject.


The documentation for this class was generated from the following file: