Table of Contents

Namespace Bonsai.Shaders

Classes

AspectRatio

Represents an operator that calculates the ratio of window viewport width to its height for each viewport size in the sequence.

BindTexture

Represents an operator that binds a buffer to the specified texture unit for each texture or notification in the sequence.

Bounds

Represents an axis-aligned bounding box for mesh vertices.

Camera

Represents a point of view from which to render a 3D scene.

ComputeProgram

Provides functionality for executing and updating the state of a compute shader program.

CreateAxisAngleRotation

Represents an operator that creates a rotation matrix from an axis-angle representation.

CreateCubemapCamera

Represents an operator that generates a sequence of perspective camera objects which can be used to render a dynamic cubemap texture.

CreateLookAt

Represents an operator that creates a view matrix specifying a camera looking at a target position.

CreateMatrix2

Represents an operator that creates a 2x2 matrix.

CreateMatrix2x3

Represents an operator that creates a 2x3 matrix.

CreateMatrix2x4

Represents an operator that creates a 2x4 matrix.

CreateMatrix3

Represents an operator that creates a 3x3 matrix containing 3D rotation and scale.

CreateMatrix3x2

Represents an operator that creates a 3x2 matrix.

CreateMatrix3x4

Represents an operator that creates a 3x4 matrix.

CreateMatrix4

Represents an operator that creates a 4x4 matrix containing 3D rotation, scale, position and projection.

CreateMatrix4x2

Represents an operator that creates a 4x2 matrix.

CreateMatrix4x3

Represents an operator that creates a 4x3 matrix.

CreateMesh

Represents an operator that creates a new mesh geometry for each vertex array data in the sequence.

CreateOrthographic

Represents an operator that creates an orthographic projection matrix.

CreateOrthographicOffCenter

Represents an operator that creates an orthographic projection matrix from specified projection volume boundaries.

CreatePerspectiveFieldOfView

Represents an operator that creates a perspective projection matrix from field of view parameters.

CreatePerspectiveOffCenter

Represents an operator that creates a perspective projection matrix with the specified view frustum.

CreateQuaternionRotation

Represents an operator that creates a rotation matrix from a quaternion representation.

CreateRotationX

Represents an operator that creates a rotation matrix for a rotation about the x-axis.

CreateRotationY

Represents an operator that creates a rotation matrix for a rotation about the y-axis.

CreateRotationZ

Represents an operator that creates a rotation matrix for a rotation about the z-axis.

CreateScale

Represents an operator that creates a scale matrix.

CreateTransform

Represents an operator that creates a model matrix specifying position, rotation and scale.

CreateTranslation

Represents an operator that creates a translation matrix.

CreateVector2

Represents an operator that creates a 2D vector element.

CreateVector3

Represents an operator that creates a 3D vector element.

CreateVector4

Represents an operator that creates a 4D vector element.

CreateWindow

Represents an operator that creates the shader window with the specified display style and render settings.

Delay

Represents an operator that delays the notification of values in the sequence by the specified time interval, using the render loop scheduler.

DelaySubscription

Represents an operator that delays subscription to the observable sequence by the specified time interval, using the render loop scheduler.

DispatchCompute

Represents an operator that launches one or more compute shader work groups for each notification in the sequence.

DispatchShaderQueue

Represents an operator that immediately starts processing the specified shader work queue whenever the sequence emits a notification.

DrawArrays

Represents an operator that renders primitives using each of the array data in the sequence.

DrawFramebuffer

Represents an operator that renders all currently stored draw commands to a framebuffer.

DrawMesh

Represents an operator that draws the specified mesh geometry.

DrawMeshAggregate

Represents an operator that aggregates the specified mesh geometry attributes into a single draw command.

DrawMeshInstanced

Represents an operator that draws the specified mesh geometry using instanced rendering, where each array in the sequence stores the per-instance attributes.

Effect

Provides an abstract base class for common functionality used in render effects specifying a vertex, geometry or fragment shader.

ExtractRotation

Represents an operator that returns the rotation component of every matrix in the sequence.

ExtractScale

Represents an operator that returns the scale component of every matrix in the sequence.

ExtractTranslation

Represents an operator that returns the translation component of every matrix in the sequence.

ExtrinsicsTransform

Represents an operator that converts extrinsics rotation and translation vectors in the sequence into a transform matrix, and vice-versa.

FrameEvent

Represents an update or render frame event raised by the shader window.

InstanceAttributeMapping

Represents the format of a per-instance defined input value to a vertex shader.

InstanceAttributeMappingCollection

Represents a collection of InstanceAttributeMapping objects.

Invert

Represents an operator that converts every matrix in the sequence to its inverse.

LatestOnRenderFrame

Represents an operator that replays the latest notification of the sequence at each render frame event.

LatestOnUpdateFrame

Represents an operator that replays the latest notification of the sequence at each update frame event.

LoadImage

Represents an operator that loads a texture buffer from the specified image file.

LoadImageSequence

Represents an operator that loads an image texture sequence from the specified movie file or image sequence pattern.

LoadVideo

Represents an operator that initializes a video texture which is dynamically updated from the specified movie file.

Material

Provides functionality for rendering geometry using a shaded material pass using the specified vertex, geometry or fragment shader.

MatrixTransform

Provides an abstract base class for operators specifying cumulative matrix transform operations.

Mesh

Represents a collection of vertices and indices used to describe arbitrary geometry.

MeshBounds

Represents an operator that retrieves the bounds of the specified mesh geometry.

MeshName

Represents the properties of a mesh geometry which is part of an aggregate rendering operation.

MeshNameConverter

Provides a type converter to convert a mesh name to and from other representations. It also provides a mechanism to find existing meshes which have been declared in the workflow.

MeshResources

Represents an operator that creates a collection of mesh resources to be loaded into the resource manager.

NormalMatrix

Represents an operator that computes the normal matrix for each modelview matrix in the sequence.

PlayTextureSequence

Represents an operator that starts playing the frame sequence of a video texture or texture array.

ReadPixels

Represents an operator that reads a block of pixels from the framebuffer.

RenderCubemap

Represents an operator that renders all currently stored draw commands to one of the cubemap textures. Each pass renders one face of the cubemap in the order +X, -X, +Y, -Y, +Z, -Z.

RenderCubemapTarget

Represents an operator that renders all currently stored draw commands to a cubemap render target.

RenderFrame

Represents an operator that generates a sequence of events produced whenever it is time to render a new frame.

RenderTexture

Represents an operator that renders all currently stored draw commands to a texture.

ResourceLoader

Provides the abstract base class for operators that load resources into the shader window resource manager.

RetrieveImage

Represents an operator that reads the pixel data from each texture in the sequence to an image.

RotateAxisAngle

Represents an operator that applies a rotation around an arbitrary axis to every transform in the sequence.

RotateQuaternion

Represents an operator that applies a rotation specified by a quaternion to every transform in the sequence.

RotateX

Represents an operator that applies a rotation about the x-axis to every transform in the sequence.

RotateY

Represents an operator that applies a rotation about the y-axis to every transform in the sequence.

RotateZ

Represents an operator that applies a rotation about the z-axis to every transform in the sequence.

SampleOnRenderFrame

Represents an operator that samples notifications from the sequence whenever there is a new render frame event.

SampleOnUpdateFrame

Represents an operator that samples notifications from the sequence whenever there is a new update frame event.

Scale

Represents an operator that applies a scale factor along the specified axes to every transform in the sequence.

Shader

Provides common functionality for executing and updating the state of compiled shader programs.

ShaderException

Represents errors that occur when compiling or linking shader programs.

ShaderManager

Provides functionality for accessing shader window resources and scheduling actions on the main render loop.

ShaderNameConverter

Provides a type converter to convert a shader name to and from other representations. It also provides a mechanism to find existing shaders which have been declared in the workflow.

ShaderResources

Represents an operator that creates a collection of shader resources to be loaded into the resource manager.

ShaderWindow

Creates and renders a window using the specified resources and a programmable shader pipeline.

StoreImage

Represents an operator that writes each image in the sequence to a texture object.

StoreImageSequence

Represents an operator that writes a sequence of images to a texture array.

Texture

Represents a texture object containing one or more images with the same image format.

TextureArray

Represents an array of texture objects.

TextureNameConverter

Provides a type converter to convert a texture name to and from other representations. It also provides a mechanism to find existing textures which have been declared in the workflow.

TextureResources

Represents an operator that creates a collection of texture resources to be loaded into the resource manager.

Timer

Represents an operator that generates an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the render loop timing.

TransformRelative

Represents an operator that applies a model matrix transform specifying relative position, rotation and scale to every transform in the sequence.

Translate

Represents an operator that applies a translation along the specified axes to every transform in the sequence.

Transpose

Represents an operator that calculates the transpose of every matrix in the sequence.

UpdateClearColorState

Represents an operator that updates the clear color state of the shader window.

UpdateFrame

Represents an operator that generates a sequence of events produced whenever it is time to update the render state.

UpdateRenderState

Represents an operator that updates the render state of the shader window.

UpdateScissorState

Represents an operator that updates the active scissor box in the shader window. Any fragments falling outside the scissor box will be discarded.

UpdateTexture

Represents an operator that updates the pixel store of the specified texture target from a sequence of images.

UpdateUniform

Represents an operator that updates the value of a uniform variable on the specified shader.

UpdateVertexBuffer

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

UpdateViewportState

Represents an operator that updates the active viewport in the shader window.

VertexAttributeMapping

Represents the format of a user-defined input value to a vertex shader.

VertexAttributeMappingCollection

Represents a collection of VertexAttributeMapping objects.

ViewportEffect

Provides functionality for rendering a fullscreen effect using a fragment shader pass.

WarpPerspective

Represents an operator that creates a warp perspective transform matrix for planar projection mapping.

WindowClosed

Represents an operator that generates a sequence of events produced whenever the shader window is closed.

Structs

DispatchParameters

Represents parameters used when launching compute shader work groups.

TimeStep

Represents the amount of time elapsed since the last update.

Enums

MatrixOrder

Specifies the transformation order for cumulative matrix transform operations.

QuadEffects

Specifies available fullscreen quad rendering effects.