Class UploadBuffer
This abstract class represents a strategy to quickly upload buffers to the GPU.
Namespace: Evergine.Common.Graphics
Assembly: Evergine.Common.dll
Syntax
public abstract class UploadBuffer
Constructors
UploadBuffer(GraphicsContext, ulong, uint)
Initializes a new instance of the UploadBuffer class.
Declaration
public UploadBuffer(GraphicsContext context, ulong size, uint align)
Parameters
Type | Name | Description |
---|---|---|
GraphicsContext | context | The graphics context. |
ulong | size | The size of the upload buffer. |
uint | align | The alignment of the upload buffer, if needed. |
Fields
Align
The buffer alignment.
Declaration
public uint Align
Field Value
Type | Description |
---|---|
uint |
Count
Number of batched buffers.
Declaration
public ulong Count
Field Value
Type | Description |
---|---|
ulong |
DataBegin
Pointer to the beginning of the buffer.
Declaration
public ulong DataBegin
Field Value
Type | Description |
---|---|
ulong |
DataCurrent
Points to the current buffer position.
Declaration
public ulong DataCurrent
Field Value
Type | Description |
---|---|
ulong |
DataEnd
Pointer to the end of the buffer.
Declaration
public ulong DataEnd
Field Value
Type | Description |
---|---|
ulong |
TotalSize
The total size in bytes of the upload buffer.
Declaration
public ulong TotalSize
Field Value
Type | Description |
---|---|
ulong |
context
The instance of the graphics context.
Declaration
protected GraphicsContext context
Field Value
Type | Description |
---|---|
GraphicsContext |
Methods
Allocate(ulong)
Allocates the new data in the upload buffer.
Declaration
public ulong Allocate(ulong dataSize)
Parameters
Type | Name | Description |
---|---|---|
ulong | dataSize | The new data size. |
Returns
Type | Description |
---|---|
ulong | The destination address to copy to. |
CalculateOffset(ulong)
Gets the native address data offset.
Declaration
public ulong CalculateOffset(ulong address)
Parameters
Type | Name | Description |
---|---|---|
ulong | address | The address of the data. |
Returns
Type | Description |
---|---|
ulong | The address data offset. |
Clear()
Resets all pointers of the upload buffer.
Declaration
public void Clear()
Dispose()
Disposes all resources of this instance.
Declaration
public abstract void Dispose()
RefreshBuffer(ulong)
Refreshes the native buffer used by the upload buffer with the new size.
Declaration
protected abstract void RefreshBuffer(ulong size)
Parameters
Type | Name | Description |
---|---|---|
ulong | size | The new size of the buffer. |