24 #ifndef HD_ST_TEXTURE_HANDLE_H 25 #define HD_ST_TEXTURE_HANDLE_H 28 #include "pxr/imaging/hdSt/api.h" 30 #include "pxr/imaging/hd/enums.h" 31 #include "pxr/imaging/hd/types.h" 35 PXR_NAMESPACE_OPEN_SCOPE
37 using HdStShaderCodePtr =
38 std::weak_ptr<class HdStShaderCode>;
39 using HdStTextureObjectSharedPtr =
40 std::shared_ptr<class HdStTextureObject>;
41 using HdStSamplerObjectSharedPtr =
42 std::shared_ptr<class HdStSamplerObject>;
44 using HdStTextureHandleSharedPtr =
45 std::shared_ptr<class HdStTextureHandle>;
47 class HdSt_TextureHandleRegistry;
66 HdStTextureObjectSharedPtr
const &textureObject,
69 HdStShaderCodePtr
const & shaderCode,
70 HdSt_TextureHandleRegistry *textureHandleRegistry);
79 return _textureObject;
86 return _samplerObject;
92 return _samplerParams;
98 return _memoryRequest;
117 HdStTextureObjectSharedPtr _textureObject;
118 HdStSamplerObjectSharedPtr _samplerObject;
120 size_t _memoryRequest;
121 HdStShaderCodePtr _shaderCode;
122 HdSt_TextureHandleRegistry *_textureHandleRegistry;
125 PXR_NAMESPACE_CLOSE_SCOPE
HDST_API void ReallocateSamplerIfNecessary()
Allocate sampler for this handle (not thread-safe).
size_t GetMemoryRequest() const
Get how much memory this handle requested for the texture.
HdSamplerParameters const & GetSamplerParameters() const
Get sampler parameters.
bool UseBindlessHandles() const
Get whether bindless texture handles are enabled.
HdStTextureObjectSharedPtr const & GetTextureObject() const
Get texture object.
HdStShaderCodePtr const & GetShaderCode() const
Get the shader code associated with this handle.
HDST_API HdStTextureHandle(HdStTextureObjectSharedPtr const &textureObject, const HdSamplerParameters &samplerParams, size_t memoryRequest, HdStShaderCodePtr const &shaderCode, HdSt_TextureHandleRegistry *textureHandleRegistry)
See HdStResourceRegistry::AllocateTextureHandle for details.
Collection of standard parameters such as wrap modes to sample a texture.
Represents a texture and sampler that will be allocated and loaded from a texture file during commit,...
HdStSamplerObjectSharedPtr const & GetSamplerObject() const
Get sampler object.