Diligent Engine API Reference
Public Member Functions | Protected Member Functions | List of all members
Diligent::TextureBaseGL Class Referenceabstract

Base implementation of the Diligent::ITextureGL interface. More...

Inheritance diagram for Diligent::TextureBaseGL:
Diligent::TextureBase< ITextureGL, TextureViewGLImpl, FixedBlockMemoryAllocator > Diligent::DeviceObjectBase< ITextureGL, TextureDesc > Diligent::ObjectBase< ITextureGL > Diligent::RefCountedObject< ITextureGL > Diligent::ITextureGL Diligent::ITexture Diligent::IDeviceObject

Public Member Functions

virtual void QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface) override
 Queries the specific interface, see IObject::QueryInterface() for details.
 
virtual void Map (IDeviceContext *pContext, Uint32 Subresource, MAP_TYPE MapType, Uint32 MapFlags, MappedTextureSubresource &MappedData) override
 Base implementaiton of ITexture::Map()
 
virtual void Unmap (IDeviceContext *pContext, Uint32 Subresource, MAP_TYPE MapType, Uint32 MapFlags) override
 Base implementaiton of ITexture::Unmap()
 
virtual GLenum GetBindTarget () const override final
 Returns bind target of the native OpenGL texture.
 
virtual void CopyData (IDeviceContext *pContext, ITexture *pSrcTexture, Uint32 SrcMipLevel, Uint32 SrcSlice, const Box *pSrcBox, Uint32 DstMipLevel, Uint32 DstSlice, Uint32 DstX, Uint32 DstY, Uint32 DstZ) override
 Base implementaiton of ITexture::CopyData(); validates input parameters.
 
virtual GLuint GetGLTextureHandle () override final
 Returns OpenGL texture handle.
 
virtual void * GetNativeHandle () override final
 Returns native texture handle specific to the underlying graphics API. More...
 
- Public Member Functions inherited from Diligent::TextureBase< ITextureGL, TextureViewGLImpl, FixedBlockMemoryAllocator >
 TextureBase (IReferenceCounters *pRefCounters, FixedBlockMemoryAllocator &TexViewObjAllocator, IRenderDevice *pDevice, const TextureDesc &Desc, bool bIsDeviceInternal=false)
 
virtual void CreateView (const struct TextureViewDesc &ViewDesc, ITextureView **ppView) override
 Implementaiton of ITexture::CreateView(); calls CreateViewInternal() virtual function that creates texture view for the specific engine implementation.
 
virtual void UpdateData (IDeviceContext *pContext, Uint32 MipLevel, Uint32 Slice, const Box &DstBox, const TextureSubResData &SubresData) override=0
 Base implementaiton of ITexture::UpdateData(); validates input parameters.
 
void CreateDefaultViews ()
 Creates default texture views. More...
 
- Public Member Functions inherited from Diligent::DeviceObjectBase< ITextureGL, TextureDesc >
 DeviceObjectBase (IReferenceCounters *pRefCounters, IRenderDevice *pDevice, const TextureDesc &ObjDesc, bool bIsDeviceInternal=false)
 
virtual const TextureDescGetDesc () const override final
 
UniqueIdentifier GetUniqueID () const
 Returns unique identifier. More...
 
- Public Member Functions inherited from Diligent::IDeviceObject
virtual void QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface, see IObject::QueryInterface() for details.
 

Protected Member Functions

virtual void CreateViewInternal (const struct TextureViewDesc &ViewDesc, class ITextureView **ppView, bool bIsDefaultView) override
 Pure virtual function that creates texture view for the specific engine implementation.
 
- Protected Member Functions inherited from Diligent::TextureBase< ITextureGL, TextureViewGLImpl, FixedBlockMemoryAllocator >
ITextureViewGetDefaultView (TEXTURE_VIEW_TYPE ViewType) override
 Implementation of ITexture::GetDefaultView().
 

Additional Inherited Members

- Protected Attributes inherited from Diligent::TextureBase< ITextureGL, TextureViewGLImpl, FixedBlockMemoryAllocator >
std::unique_ptr< TextureViewGLImpl, STDDeleter< TextureViewGLImpl, FixedBlockMemoryAllocator > > m_pDefaultSRV
 Default SRV addressing the entire texture.
 
std::unique_ptr< TextureViewGLImpl, STDDeleter< TextureViewGLImpl, FixedBlockMemoryAllocator > > m_pDefaultRTV
 Default RTV addressing the most detailed mip level.
 
std::unique_ptr< TextureViewGLImpl, STDDeleter< TextureViewGLImpl, FixedBlockMemoryAllocator > > m_pDefaultDSV
 Default DSV addressing the most detailed mip level.
 
std::unique_ptr< TextureViewGLImpl, STDDeleter< TextureViewGLImpl, FixedBlockMemoryAllocator > > m_pDefaultUAV
 Default UAV addressing the entire texture.
 
- Protected Attributes inherited from Diligent::DeviceObjectBase< ITextureGL, TextureDesc >
const String m_ObjectNameCopy
 Copy of a device object name. More...
 
TextureDesc m_Desc
 Object description.
 

Detailed Description

Base implementation of the Diligent::ITextureGL interface.

Member Function Documentation

◆ GetNativeHandle()

virtual void* Diligent::TextureBaseGL::GetNativeHandle ( )
inlinefinaloverridevirtual

Returns native texture handle specific to the underlying graphics API.

Returns
pointer to ID3D11Resource interface, for D3D11 implementation
pointer to ID3D12Resource interface, for D3D12 implementation
GL buffer handle, for GL implementation

Implements Diligent::ITexture.