Diligent Engine API Reference: Diligent::TextureBaseGL Class Reference

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:

## 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 TextureDesc & | GetDesc () 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 >
ITextureView * | GetDefaultView (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.