Package-level declarations
Types
Array of Cubemap, all with the same ColorType, ColorFormat and other properties. Typically, used for efficient reflection probes, lighting and shadowing systems. This is a common interface to be implemented in various target languages.
Represents a texture with multiple layers, commonly referred to as an array texture. This abstract class defines properties and operations essential for managing the texture, including binding, filling, copying contents, and mipmap generation.
Represents a color attachment that targets a specific layer and mip level of an array texture. This class extends ColorAttachment and provides a mechanism to associate an array texture's layer and level with a render target.
An enumeration representing the memory alignment strategies for buffers.
Buffer multisample options
Represents different types of data primitives that can be stored in a buffer. Each type is associated with the number of components it contains, its size in bytes, and its alignment requirement in bytes.
Abstract class for writing data into a buffer. Provides methods for writing various types of data such as vectors, matrices, colors, and primitive types.
Represents a texture buffer residing in the GPU. Buffer textures provide a mechanism for storing structured data that can be accessed in shaders as a one-dimensional texture.
Abstract class for writing data into a buffer. Provides methods for writing various types of data such as vectors, matrices, colors, and primitive types.
A data class representing a pair of characters.
Stored circle batch
Builder for stored circle batches
Color attachment for RenderTarget.
Represents a color buffer, which is an abstract resource used for storing image data and managing operations like mipmapping, filtering, and copying of image data. A ColorBuffer
can be used in various scenarios such as rendering to textures or managing image storage in graphics applications.
representation for simple images stored on GPU memory
Represents a color buffer attachment for a render target.
Color format enumeration
Color sampling enumeration
Represents a Compute Shader, which is a type of shader used for general-purpose GPU computations. A Compute Shader can bind images, buffers, and uniforms for processing data on the GPU.
ComputeStyle class
Represents a cubemap, which is a collection of six 2D textures arranged to form the faces of a cube. It is often used for environment mapping and skyboxes in 3D rendering.
Represents a color attachment for a specific side of a cubemap in a render target.
Represents the six sides of a cubemap, each associated with a forward and up direction.
Cull test pass condition enumeration
Represents a depth buffer used for rendering operations. A depth buffer stores depth information for rendered pixels, enabling depth testing in graphics applications. It may optionally include stencil information based on its format.
Depth format enumeration
Depth test pass condition enumeration
Represents the drawing context containing transformation matrices and additional parameters necessary to configure a rendering shader.
The Drawer
class is a utility that provides various drawing operations such as drawing shapes, transformations, and managing drawing states in a graphical rendering context. It serves as the primary interface for rendering graphics and provides control for styling and transformations.
Drawer configuration
Draw primitive type enumeration
Specifies if to optimize drawing for quality or performance.
A data class that controls the look of drawing operations including stroke and fill color, stroke weight and more.
The Filter
class represents a rendering filter used to process graphical content by applying shaders and other configurations. This class provides mechanisms to apply the filter to color buffers, manage shader parameters, and handle associated rendering operations such as clip rectangles and blending modes.
A filter that processes a single input texture and outputs a single result.
A class representing a 2-to-1 filter that applies a shader operation using two input sources and a single target output.
A filter implementation that processes three input color buffers and outputs to a single target color buffer.
A specialized filter that combines four input color buffers into one output color buffer.
A type of FontMap which keeps characters pre-rendered in a ColorBuffer texture at a specific font size.
A type of FontMap which keeps characters stored as vector data. Good for displaying very large text and for displaying text at different scales, but in general less performant than FontImageMap because it is not pre-rendered.
Details for an image
File format used while saving to file
Represents an abstraction of an index buffer used in rendering operations.
Represents a specific color attachment for a layered array texture.
Texture filters for magnification
Texture filters used for minification
A class representing a parameter that supports getting and setting typed values with automatic type tracking.
Represents a rendering target for graphics operations, which can be used to handle color, depth, and stencil attachments with configurability for attributes such as width, height, content scaling, and multisampling.
A class representing a resizable color buffer, which can dynamically resize itself while maintaining color properties.
A class that represents a render target capable of being resized dynamically.
Represents a GPU resource management session. A session is responsible for tracking and managing GPU resources in a hierarchical manner. Sessions can be forked, creating child sessions, and ended, destroying all GPU resources associated with the session.
Session statistics
Defines an interface for binding various types of GPU buffers to a shader by name.
Represents a shader storage buffer, which is an interface for managing GPU memory used for reading and writing data within shaders.
Represents a shadow interface for managing a shader storage buffer. The shadow allows operations such as uploading, downloading, and releasing resources, as well as providing a means to obtain a writer for structured buffer data manipulation.
Represents an element in shader storage, typically used in GPU programming for storing data buffers. This interface defines the core properties of such an element, including its name, memory offset, and size when represented as an array.
Represents the format specification for a shader storage buffer. Defines the structure, primitives, and memory layout for data used in GPU programming.
Represents a primitive element within a shader storage buffer. This class enables detailed definition of a primitive type and its properties such as the buffer primitive type, array size and memory offset.
Represents a structure within shader storage, typically used for organizing and grouping related shader storage elements.
Represents a customizable and composable style for shaders and rendering pipelines. This class allows defining transformations, preambles, and shader outputs as well as binding buffers and images for use in rendering.
A Filter that uses the ShadeStyle interface and language
A collection of granules, or template functions for writing stylable shaders in GLSL. ShadeStyleGLSL is used in OPENRNDR's shader generators but is exposed to the user such that they too can write shader generators.
A collection of granules, or template functions for writing stylable shaders in GLSL. ShadeStyleGLSL is used in OPENRNDR's shader generators but is exposed to the user such that they too can write shader generators.
A collection of granules, or template functions for writing stylable shaders in GLSL. ShadeStyleGLSL is used in OPENRNDR's shader generators but is exposed to the user such that they too can write shader generators.
Represents the output configuration for a shading style.
Represents a style for stencil operations and tests used in rendering pipelines.
An interface designed to handle and manage shader style parameters. It provides functionality for associating named parameters with various data types and maintaining type information. These parameters are intended to be used in shader programming for configuring and managing graphical rendering styles.
Represents the target of a transformation within a graphical or computational system.
Represents a vertex buffer that stores vertex data in GPU memory and allows for efficient rendering operations. The vertex buffer conforms to a specific vertex format and supports various operations for writing, managing, and releasing vertex data resources.
Represents a shadow of a VertexBuffer that allows manipulation and synchronization of vertex data with a buffer residing in GPU memory. This interface provides methods to upload, download, and manage vertex data in a buffer.
Represents a single element within a vertex, describing the structure of vertex data in a graphics pipeline.
Enum class representing various types of vertex elements used in graphics programming.
VertexBuffer Layout describes how data is organized in the VertexBuffer
Represents a 3D texture, also known as a volume texture. A volume texture is a set of texture data stored in a 3D space, identified by its width, height, and depth dimensions. It can be used in various applications, such as 3D data visualization, texture maps for 3D objects, and more.
Properties
The default font map used for rendering text in the system. This variable represents an optional instance of FontImageMap, which contains the pre-rendered texture and associated metadata for specific font settings like size, character set, and metrics.
Functions
Creates an array cubemap
Creates an array texture
create a BufferTexture
Create a stored batch of circles
Creates a new color buffer with the specified dimensions and configuration.
Determines optimal size of ComputeShader execution for 1-dimensional data of variable size.
Determines optimal size of ComputeShader execution for 2-dimensional data of variable size.
Determines optimal size of ComputeShader execution for 3-dimensional data of variable size.
create an equivalent ColorBuffer, with the option to override attributes
Determines the default color type based on the given color format.
Creates a depth buffer with the specified dimensions, format, and multisampling configuration. A depth buffer is used in rendering to store depth information for pixels, with optional stencil buffer support depending on the depth format.
creates and starts a DrawThread
Creates a Shader object by loading and compiling shader code from the provided URL.
Creates and returns a ShaderWatcher configured for the given fragment shader URL. The returned ShaderWatcher uses a predefined vertex shader code and the provided URL for the fragment shader.
check if this ColorBuffer is equivalent to other
Executes the given function within an isolated drawing context bound to the specified render target.
launches a coroutine on the DrawThread
load a buffer texture from a file
load a BufferTexture from a url
load a buffer texture from file or url
Loads a cubemap from the given CubemapImageData and returns the generated Cubemap instance. This function handles writing the six faces of the cubemap and can optionally use a specified rendering session.
load an image from a file or url encoded as String, also accepts base64 encoded data urls
load an image from a file or url encoded as String, also accepts base64 encoded data urls
load an image from File
load an image from an url
load an image from a file or url encoded as String, also accepts base64 encoded data urls
Mark a GPU resource or code that uses GPU resources as persistent
Create a stored batch of points
Probes an image file or URL to retrieve its details such as dimensions and channels.
Create a stored batch of rectangles
Creates a new render target with the specified dimensions and properties.
Creates a resizable color buffer with the specified dimensions and properties.
Creates a shader storage buffer based on the given format.
Constructs a new ShaderStorageFormat instance and allows the caller to configure it using a lambda.
Creates and returns a new instance of ShadeStyle
, configured using the provided builder function.
Create a StructuredBuffer from struct
VertexBuffer builder function.
Creates a new instance of VertexFormat
using a specified alignment and a builder block to configure its attributes.
Writes the specified DrawStyle
properties to the buffer. This includes linearized fill color, linearized stroke color, and an adjusted stroke weight based on the presence and transparency of the stroke.