Table of Contents

Class UpdateVertexBuffer

Namespace
Bonsai.Shaders
Assembly
Bonsai.Shaders.dll

Represents an operator that updates the vertex buffer data used by the specified mesh geometry.

public class UpdateVertexBuffer : Sink<Mat>
Inheritance
UpdateVertexBuffer
Inherited Members

Properties

DrawMode

Gets or sets a value specifying the kind of primitives to render with the vertex buffer data.

public PrimitiveType DrawMode { get; set; }

Property Value

PrimitiveType

MeshName

Gets or sets the name of the mesh geometry to update.

[TypeConverter(typeof(MeshNameConverter))]
public string MeshName { get; set; }

Property Value

string

Usage

Gets or sets a value specifying the expected usage pattern of the vertex buffer.

public BufferUsageHint Usage { get; set; }

Property Value

BufferUsageHint

VertexAttributes

Gets the collection of vertex attributes specifying how to interpret the vertex array data.

public VertexAttributeMappingCollection VertexAttributes { get; }

Property Value

VertexAttributeMappingCollection

Methods

Process(IObservable<Mat>)

Updates the specified mesh geometry using each of the matrix data in an observable sequence.

public override IObservable<Mat> Process(IObservable<Mat> source)

Parameters

source IObservable<Mat>

A sequence of Mat objects representing the vertex array data used to update the mesh geometry.

Returns

IObservable<Mat>

An observable sequence that is identical to the source sequence but where there is an additional side effect of scheduling an update operation where mesh geometry data is updated using each of the matrices in the sequence.

Process<TVertex>(IObservable<Tuple<TVertex[], byte[]>>)

Updates the specified mesh geometry using vertex and 8-bit index data from an observable sequence.

public IObservable<Tuple<TVertex[], byte[]>> Process<TVertex>(IObservable<Tuple<TVertex[], byte[]>> source) where TVertex : struct

Parameters

source IObservable<Tuple<TVertex[], byte[]>>

The sequence of pairs of vertex and 8-bit index data used to update the mesh geometry.

Returns

IObservable<Tuple<TVertex[], byte[]>>

An observable sequence that is identical to the source sequence but where there is an additional side effect of scheduling an update operation where mesh geometry data is updated using each of the pairs of vertex and index data in the sequence.

Type Parameters

TVertex

The type of the vertex elements used to render each primitive.

Process<TVertex>(IObservable<Tuple<TVertex[], short[]>>)

Updates the specified mesh geometry using vertex and signed 16-bit index data from an observable sequence.

public IObservable<Tuple<TVertex[], short[]>> Process<TVertex>(IObservable<Tuple<TVertex[], short[]>> source) where TVertex : struct

Parameters

source IObservable<Tuple<TVertex[], short[]>>

The sequence of pairs of vertex and signed 16-bit index data used to update the mesh geometry.

Returns

IObservable<Tuple<TVertex[], short[]>>

An observable sequence that is identical to the source sequence but where there is an additional side effect of scheduling an update operation where mesh geometry data is updated using each of the pairs of vertex and index data in the sequence.

Type Parameters

TVertex

The type of the vertex elements used to render each primitive.

Process<TVertex>(IObservable<Tuple<TVertex[], int[]>>)

Updates the specified mesh geometry using vertex and signed 32-bit index data from an observable sequence.

public IObservable<Tuple<TVertex[], int[]>> Process<TVertex>(IObservable<Tuple<TVertex[], int[]>> source) where TVertex : struct

Parameters

source IObservable<Tuple<TVertex[], int[]>>

The sequence of pairs of vertex and signed 32-bit index data used to update the mesh geometry.

Returns

IObservable<Tuple<TVertex[], int[]>>

An observable sequence that is identical to the source sequence but where there is an additional side effect of scheduling an update operation where mesh geometry data is updated using each of the pairs of vertex and index data in the sequence.

Type Parameters

TVertex

The type of the vertex elements used to render each primitive.

Process<TVertex>(IObservable<Tuple<TVertex[], ushort[]>>)

Updates the specified mesh geometry using vertex and unsigned 16-bit index data from an observable sequence.

public IObservable<Tuple<TVertex[], ushort[]>> Process<TVertex>(IObservable<Tuple<TVertex[], ushort[]>> source) where TVertex : struct

Parameters

source IObservable<Tuple<TVertex[], ushort[]>>

The sequence of pairs of vertex and unsigned 16-bit index data used to update the mesh geometry.

Returns

IObservable<Tuple<TVertex[], ushort[]>>

An observable sequence that is identical to the source sequence but where there is an additional side effect of scheduling an update operation where mesh geometry data is updated using each of the pairs of vertex and index data in the sequence.

Type Parameters

TVertex

The type of the vertex elements used to render each primitive.

Process<TVertex>(IObservable<Tuple<TVertex[], uint[]>>)

Updates the specified mesh geometry using vertex and unsigned 32-bit index data from an observable sequence.

public IObservable<Tuple<TVertex[], uint[]>> Process<TVertex>(IObservable<Tuple<TVertex[], uint[]>> source) where TVertex : struct

Parameters

source IObservable<Tuple<TVertex[], uint[]>>

The sequence of pairs of vertex and unsigned 32-bit index data used to update the mesh geometry.

Returns

IObservable<Tuple<TVertex[], uint[]>>

An observable sequence that is identical to the source sequence but where there is an additional side effect of scheduling an update operation where mesh geometry data is updated using each of the pairs of vertex and index data in the sequence.

Type Parameters

TVertex

The type of the vertex elements used to render each primitive.

Process<TVertex>(IObservable<TVertex[]>)

Updates the specified mesh geometry using each of the array data in an observable sequence.

public IObservable<TVertex[]> Process<TVertex>(IObservable<TVertex[]> source) where TVertex : struct

Parameters

source IObservable<TVertex[]>

A sequence of vertex array data used to update the mesh geometry.

Returns

IObservable<TVertex[]>

An observable sequence that is identical to the source sequence but where there is an additional side effect of scheduling an update operation where mesh geometry data is updated using each of the arrays in the sequence.

Type Parameters

TVertex

The type of the vertex elements used to render each primitive.