Table of Contents

Class Buffer.Raw

Namespace
Stride.Graphics
Assembly
Stride.Graphics.dll

Helper methods for creating Raw Buffers.

public static class Buffer.Raw
Inheritance
object
Buffer.Raw

Remarks

A Raw Buffer is a Buffer that can be read in shaders as raw bytes. They are unformatted Buffers that can be accessed at byte level.

An example of this kind of Buffer in SDSL would be:

ByteAddressBuffer bab;
RWByteAddressBuffer rwbab; // For Raw Buffers supporting unordered access

Methods

New(GraphicsDevice, DataPointer, BufferFlags, GraphicsResourceUsage)

Creates a new Raw Buffer with initial data.

[Obsolete("This method is obsolete. Use the span-based methods instead")]
public static Buffer New(GraphicsDevice device, DataPointer dataPointer, BufferFlags additionalFlags = BufferFlags.None, GraphicsResourceUsage usage = GraphicsResourceUsage.Default)

Parameters

device GraphicsDevice

The GraphicsDevice.

dataPointer DataPointer

The data pointer to the data to initialize the Raw Buffer.

additionalFlags BufferFlags

Additional flags. For example, you can specify IndexBuffer to create a combined Raw/Index Buffer.

usage GraphicsResourceUsage

The usage for the Buffer, which determines who can read/write data. By default, it is Default.

Returns

Buffer

A new instance of Buffer.

New(GraphicsDevice, int, BufferFlags, GraphicsResourceUsage)

Creates a new Raw Buffer of a given size.

public static Buffer New(GraphicsDevice device, int bufferSize, BufferFlags additionalFlags = BufferFlags.None, GraphicsResourceUsage usage = GraphicsResourceUsage.Default)

Parameters

device GraphicsDevice

The GraphicsDevice.

bufferSize int

Size of the Buffer in bytes.

additionalFlags BufferFlags

Additional flags. For example, you can specify IndexBuffer to create a combined Raw/Index Buffer.

usage GraphicsResourceUsage

The usage for the Buffer, which determines who can read/write data. By default, it is Default.

Returns

Buffer

A new instance of Buffer.

New(GraphicsDevice, ReadOnlySpan<byte>, BufferFlags, GraphicsResourceUsage)

Creates a new Raw Buffer with initial data.

public static Buffer New(GraphicsDevice device, ReadOnlySpan<byte> data, BufferFlags additionalFlags = BufferFlags.None, GraphicsResourceUsage usage = GraphicsResourceUsage.Default)

Parameters

device GraphicsDevice

The GraphicsDevice.

data ReadOnlySpan<byte>

The data to initialize the Raw Buffer.

additionalFlags BufferFlags

Additional flags. For example, you can specify IndexBuffer to create a combined Raw/Index Buffer.

usage GraphicsResourceUsage

The usage for the Buffer, which determines who can read/write data. By default, it is Default.

Returns

Buffer

A new instance of Buffer.

New<T>(GraphicsDevice, BufferFlags, GraphicsResourceUsage)

Creates a new Raw Buffer.

public static Buffer<T> New<T>(GraphicsDevice device, BufferFlags additionalFlags = BufferFlags.None, GraphicsResourceUsage usage = GraphicsResourceUsage.Default) where T : unmanaged

Parameters

device GraphicsDevice

The GraphicsDevice.

additionalFlags BufferFlags

Additional flags. For example, you can specify IndexBuffer to create a combined Raw/Index Buffer.

usage GraphicsResourceUsage

The usage for the Buffer, which determines who can read/write data. By default, it is Default.

Returns

Buffer<T>

A new instance of Buffer.

Type Parameters

T

Type of the data stored in the Buffer.

New<T>(GraphicsDevice, ref readonly T, BufferFlags, GraphicsResourceUsage)

Creates a new Raw Buffer with initial data.

public static Buffer<T> New<T>(GraphicsDevice device, ref readonly T value, BufferFlags additionalFlags = BufferFlags.None, GraphicsResourceUsage usage = GraphicsResourceUsage.Default) where T : unmanaged

Parameters

device GraphicsDevice

The GraphicsDevice.

value T

The value to initialize the Raw Buffer.

additionalFlags BufferFlags

Additional flags. For example, you can specify IndexBuffer to create a combined Raw/Index Buffer.

usage GraphicsResourceUsage

The usage for the Buffer, which determines who can read/write data. By default, it is Default.

Returns

Buffer<T>

A new instance of Buffer.

Type Parameters

T

Type of the data stored in the Buffer.

New<T>(GraphicsDevice, T[], BufferFlags, GraphicsResourceUsage)

Creates a new Raw Buffer with initial data.

public static Buffer<T> New<T>(GraphicsDevice device, T[] data, BufferFlags additionalFlags = BufferFlags.None, GraphicsResourceUsage usage = GraphicsResourceUsage.Default) where T : unmanaged

Parameters

device GraphicsDevice

The GraphicsDevice.

data T[]

The data to initialize the Raw Buffer.

additionalFlags BufferFlags

Additional flags. For example, you can specify IndexBuffer to create a combined Raw/Index Buffer.

usage GraphicsResourceUsage

The usage for the Buffer, which determines who can read/write data. By default, it is Default.

Returns

Buffer<T>

A new instance of Buffer.

Type Parameters

T

Type of the data stored in the Buffer.

See Also