Diligent Engine API Reference
|
Buffer interface. More...
Public Member Functions | |
virtual void | QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface)=0 |
Queries the specific interface, see IObject::QueryInterface() for details. | |
virtual const BufferDesc & | GetDesc () const =0 |
Returns the buffer description used to create the object. | |
virtual void | UpdateData (class IDeviceContext *pContext, Uint32 Offset, Uint32 Size, const PVoid pData)=0 |
Updates the data in the buffer. More... | |
virtual void | CopyData (IDeviceContext *pContext, IBuffer *pSrcBuffer, Uint32 SrcOffset, Uint32 DstOffset, Uint32 Size)=0 |
Copies the data from other buffer. More... | |
virtual void | Map (IDeviceContext *pContext, MAP_TYPE MapType, Uint32 MapFlags, PVoid &pMappedData)=0 |
Maps the buffer. More... | |
virtual void | Unmap (IDeviceContext *pContext, MAP_TYPE MapType, Uint32 MapFlags)=0 |
Unmaps the previously mapped buffer. More... | |
virtual void | CreateView (const struct BufferViewDesc &ViewDesc, class IBufferView **ppView)=0 |
Creates a new buffer view. More... | |
virtual IBufferView * | GetDefaultView (BUFFER_VIEW_TYPE ViewType)=0 |
Returns the pointer to the default view. More... | |
virtual void * | GetNativeHandle ()=0 |
Returns native buffer handle specific to the underlying graphics API. More... | |
![]() | |
virtual void | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0 |
Queries the specific interface, see IObject::QueryInterface() for details. | |
Buffer interface.
Defines the methods to manipulate a buffer object
|
pure virtual |
Copies the data from other buffer.
[in] | pContext | - Pointer to the device context interface to be used to perform the operation. |
[in] | pSrcBuffer | - Source buffer to copy data from. |
[in] | SrcOffset | - Offset in bytes from the beginning of the source buffer to the beginning of data to copy. |
[in] | DstOffset | - Offset in bytes from the beginning of the destination buffer to the beginning of the destination region. |
[in] | Size | - Size in bytes of data to copy. |
Implemented in Diligent::BufferBase< IBufferD3D11, BufferViewD3D11Impl, FixedBlockMemoryAllocator >, Diligent::BufferBase< IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator >, Diligent::BufferBase< IBufferD3D12, BufferViewD3D12Impl, FixedBlockMemoryAllocator >, Diligent::BufferD3D11Impl, Diligent::BufferGLImpl, and Diligent::BufferD3D12Impl.
|
pure virtual |
Creates a new buffer view.
[in] | ViewDesc | - View description. See Diligent::BufferViewDesc for details. |
[out] | ppView | - Address of the memory location where the pointer to the view interface will be written to. |
Implemented in Diligent::BufferBase< IBufferD3D11, BufferViewD3D11Impl, FixedBlockMemoryAllocator >, Diligent::BufferBase< IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator >, and Diligent::BufferBase< IBufferD3D12, BufferViewD3D12Impl, FixedBlockMemoryAllocator >.
|
pure virtual |
Returns the pointer to the default view.
[in] | ViewType | - Type of the requested view. See Diligent::BUFFER_VIEW_TYPE. |
Implemented in Diligent::BufferBase< IBufferD3D11, BufferViewD3D11Impl, FixedBlockMemoryAllocator >, Diligent::BufferBase< IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator >, and Diligent::BufferBase< IBufferD3D12, BufferViewD3D12Impl, FixedBlockMemoryAllocator >.
|
pure virtual |
Returns native buffer handle specific to the underlying graphics API.
Implemented in Diligent::BufferD3D12Impl, Diligent::BufferD3D11Impl, and Diligent::BufferGLImpl.
|
pure virtual |
Maps the buffer.
[in] | pContext | - Pointer to the device context interface to be used to perform the operation. |
[in] | MapType | - Type of the map operation. See Diligent::MAP_TYPE. |
[in] | MapFlags | - Special map flags. See Diligent::MAP_FLAGS. |
[out] | pMappedData | - Reference to the void pointer to store the address of the mapped region. |
Implemented in Diligent::BufferBase< IBufferD3D11, BufferViewD3D11Impl, FixedBlockMemoryAllocator >, Diligent::BufferBase< IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator >, Diligent::BufferBase< IBufferD3D12, BufferViewD3D12Impl, FixedBlockMemoryAllocator >, Diligent::BufferD3D11Impl, Diligent::BufferGLImpl, and Diligent::BufferD3D12Impl.
|
pure virtual |
Unmaps the previously mapped buffer.
[in] | pContext | - Pointer to the device context interface to be used to perform the operation. |
[in] | MapType | - Type of the map operation. This parameter must match the type that was provided to the Map() method. |
[in] | MapFlags | - Map flags. This parameter must match the flags that were provided to the Map() method. |
Implemented in Diligent::BufferBase< IBufferD3D11, BufferViewD3D11Impl, FixedBlockMemoryAllocator >, Diligent::BufferBase< IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator >, Diligent::BufferBase< IBufferD3D12, BufferViewD3D12Impl, FixedBlockMemoryAllocator >, Diligent::BufferD3D11Impl, Diligent::BufferGLImpl, and Diligent::BufferD3D12Impl.
|
pure virtual |
Updates the data in the buffer.
[in] | pContext | - Pointer to the device context interface to be used to perform the operation. |
[in] | Offset | - Offset in bytes from the beginning of the buffer to the update region. |
[in] | Size | - Size in bytes of the data region to update. |
[in] | pData | - Pointer to the data to store in the buffer. |
Implemented in Diligent::BufferBase< IBufferD3D11, BufferViewD3D11Impl, FixedBlockMemoryAllocator >, Diligent::BufferBase< IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator >, Diligent::BufferBase< IBufferD3D12, BufferViewD3D12Impl, FixedBlockMemoryAllocator >, Diligent::BufferD3D11Impl, Diligent::BufferGLImpl, and Diligent::BufferD3D12Impl.