Diligent Engine API Reference: Diligent::BufferGLImpl Class Reference

Diligent Engine API Reference

Public Member Functions | List of all members
Diligent::BufferGLImpl Class Reference

Implementation of the Diligent::IBufferGL interface. More...

Inheritance diagram for Diligent::BufferGLImpl:

## 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 | UpdateData (IDeviceContext *pContext, Uint32 Offset, Uint32 Size, const PVoid pData) override
| Base implementation of IBuffer::UpdateData(); validates input parameters.
virtual void | CopyData (IDeviceContext *pContext, IBuffer *pSrcBuffer, Uint32 SrcOffset, Uint32 DstOffset, Uint32 Size) override
| Base implementation of IBuffer::CopyData(); validates input parameters.
virtual void | Map (IDeviceContext *pContext, MAP_TYPE MapType, Uint32 MapFlags, PVoid &pMappedData) override
| Base implementation of IBuffer::Map(); validates input parameters.
virtual void | Unmap (IDeviceContext *pContext, MAP_TYPE MapType, Uint32 MapFlags) override
| Base implementation of IBuffer::Unmap()
virtual GLuint | GetGLBufferHandle () override final
| Returns OpenGL buffer handle.
virtual void * | GetNativeHandle () override final
| Returns native buffer handle specific to the underlying graphics API. More...
Public Member Functions inherited from Diligent::BufferBase< IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator >
| BufferBase (IReferenceCounters *pRefCounters, FixedBlockMemoryAllocator &BuffViewObjAllocator, IRenderDevice *pDevice, const BufferDesc &BuffDesc, bool bIsDeviceInternal)
virtual void | CreateView (const struct BufferViewDesc &ViewDesc, IBufferView **ppView) override
| Implementation of IBuffer::CreateView(); calls CreateViewInternal() virtual function that creates buffer view for the specific engine implementation.
virtual IBufferView * | GetDefaultView (BUFFER_VIEW_TYPE ViewType) override
| Implementation of IBuffer::GetDefaultView().
void | CreateDefaultViews ()
| Creates default buffer views. More...
Public Member Functions inherited from Diligent::DeviceObjectBase< IBufferGL, BufferDesc >
| DeviceObjectBase (IReferenceCounters *pRefCounters, IRenderDevice *pDevice, const BufferDesc &ObjDesc, bool bIsDeviceInternal=false)
virtual const BufferDesc & | 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.

## Additional Inherited Members
Protected Member Functions inherited from Diligent::BufferBase< IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator >
void | CorrectBufferViewDesc (struct BufferViewDesc &ViewDesc)
| Corrects buffer view description and validates view parameters.
Protected Attributes inherited from Diligent::BufferBase< IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator >
std::unique_ptr< BufferViewGLImpl, STDDeleter< BufferViewGLImpl, FixedBlockMemoryAllocator > > | m_pDefaultUAV
| Default UAV addressing the entire buffer.
std::unique_ptr< BufferViewGLImpl, STDDeleter< BufferViewGLImpl, FixedBlockMemoryAllocator > > | m_pDefaultSRV
| Default SRV addressing the entire buffer.
Protected Attributes inherited from Diligent::DeviceObjectBase< IBufferGL, BufferDesc >
const String | m_ObjectNameCopy
| Copy of a device object name. More...
BufferDesc | m_Desc
| Object description.

## Detailed Description

Implementation of the Diligent::IBufferGL interface.

## Member Function Documentation

## ◆ GetNativeHandle()

virtual void* Diligent::BufferGLImpl::GetNativeHandle | ( |  | ) |
| inlinefinaloverridevirtual

Returns native buffer 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::IBuffer.