Table of Contents

Class Buffer.Argument

Namespace
Stride.Graphics
Assembly
Stride.Graphics.dll

Helper methods for creating Argument Buffers.

public static class Buffer.Argument
Inheritance
object
Buffer.Argument

Remarks

An Argument Buffer is a Buffer that is used to pass arguments / parameters to shaders or in indirect rendering (i.e. GPU-driven rendering). The key differences with Constant Buffers is that Argument Buffer are (by default) writable by the GPU, can have an arbitrary size, and have somewhat slower access than Constant Buffers (as they are more akin to regular Buffers).

Methods

New(GraphicsDevice, int, GraphicsResourceUsage)

Creates a new Argument Buffer of a given size.

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

Parameters

device GraphicsDevice

The GraphicsDevice.

bufferSize int

Size of the Buffer in bytes.

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, GraphicsResourceUsage)

Creates a new Argument Buffer.

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

Parameters

device GraphicsDevice

The GraphicsDevice.

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, GraphicsResourceUsage)

Creates a new Argument Buffer with initial data.

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

Parameters

device GraphicsDevice

The GraphicsDevice.

value T

The value to initialize the Argument 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