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.
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.
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 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 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.
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.
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.
Abstract class for writing data into a buffer. Provides methods for writing various types of data such as vectors, matrices, colors, and primitive types.
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.
representation for simple images stored on GPU memory
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.
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.
Represents a color buffer attachment for a render target.
Color format enumeration
Color sampling enumeration
Represents a command with specific parameters that can be processed or executed.
A sealed interface that serves as a base for all command types within the system.
Represents a buffer for storing and managing graphical commands. A CommandBuffer provides functionality for writing commands to the buffer and reading them in bulk.
A shade style made of members that are applied in order, made with a + b or composeShadeStyles. Every member keeps its own namespace: its parameters, buffers and images, and the functions, variables, structs and macros declared in its preambles are prefixed with s<index>_, so members can use the same names, and the same shade style can be a member more than once. The transforms of the members are applied in order, each in its own scope, x_fill and the other x_ values flow from one member to the next.
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 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 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
Imports Direct3D 11 textures of one ID3D11Device as color buffers that share the memory of the texture, without copying it.
Implemented by drivers that can import Direct3D 11 textures
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
Imports Linux DMA-BUF planes as color buffers that sample the DMA-BUF directly, without copying it.
Implemented by drivers that can import DMA-BUFs
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.
A parameter of a shade style whose value is resolved in the shader: read from a texture, computed by GLSL code, or a GLSL function. Shade style code reads it like any parameter, as p_<name>, and calls a function as p_<name>(arguments).
An object that provides a DynamicParameter, such as a preset that holds a GlslFunction and the parameters of the user interface for it. A source can be set as a parameter of a style, or of a GlslParameter or GlslFunction, like the dynamic parameter itself. dynamicParameter is read when the style is used, so a source can replace its dynamic parameter without setting it on the style again.
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 filter class that applies a processing step using a shader and takes a single input color buffer. The processing result is written to two output color buffers.
A class representing a 2-to-1 filter that applies a shader operation using two input sources and a single target output.
A filter extension class that applies a two-source to two-target fragment shader. This class facilitates the rendering of graphical effects involving two input ColorBuffer sources and two output ColorBuffer targets, using a specified Shader for processing.
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.
A GLSL function with arguments, a GLSL parameter list such as vec2 p, float r, that returns a glslType. code is an expression or a function body with return, it reads its own parameters as p_<name>, which are set on this object and can be dynamic themselves, and can call the functions of libraries. Shade style code calls it as p_<name>(arguments).
GLSL code that is shared by shade styles, compute styles and dynamic parameters: functions, constants, structs and macros, such as noise functions. Styles and GLSL parameters and functions declare the libraries they use, the code of a library is emitted once in every shader stage that reads one of its names, after the libraries in dependencies and before the preamble of the style.
A parameter computed by GLSL code: an expression, or a function body when it contains return. The code reads its own parameters as p_<name>, which are set on this object and can be dynamic themselves, and can call the functions of libraries.
Details for an image
File format used while saving to file
Represents an abstraction of an index buffer used in rendering operations.
Represents an abstraction of an index buffer used in rendering operations.
Represents an abstraction of an index buffer used in rendering operations.
Represents a command with indexed geometry data, allowing the application to process or execute multi-instance rendering commands efficiently.
Imports macOS IOSurfaces as color buffers that sample the IOSurface directly, without copying it.
Implemented by drivers that can import IOSurfaces
Represents a specific color attachment for a layered array texture.
Texture filters for magnification
Texture filters used for minification
The order in which the fill and the stroke of geometry are painted, like the paint-order of SVG
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 shader storage buffer, which is an interface for managing GPU memory used for reading and writing data within shaders.
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.
Stroke alignment enumeration, the position of the stroke relative to the outline of closed geometry. Open geometry, like line segments and open contours, is always stroked centered.
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.
A parameter read from texture at coordinate, a GLSL expression of the shade style language. By default the texture covers the bounds of what is drawn, the way Drawer.image shows it, and in filters the input.
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 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 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.
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.
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.
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.
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.
The url of the font of defaultFontMap, set by the application, null for no default font
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.
Creates and returns a new instance of a command buffer with the specified size and session.
Composes styles into a shade style that applies them in order, each in its own namespace
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.
A GLSL function that returns a T, with arguments, a GLSL parameter list such as vec2 p. code is an expression or a function body with return that can call the functions of libraries, parameters sets the parameters the code reads. Shade style code calls it as p_<name>(arguments), which makes shade styles that take functions, such as signed distance functions:
A GlslLibrary named name with code that uses dependencies
A parameter of type T computed by GLSL code, an expression or a function body with return, that can call the functions of libraries. parameters sets the parameters the code reads.
Creates an indexed command for processing or executing multi-instance rendering commands efficiently.
Creates an indexed command buffer with the specified size and session.
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.
Loads a font image map from a given file or URL. This function creates a FontImageMap instance from the specified font resource, applying the given properties such as size, character set, content scale, and a font scaling method.
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
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 Usage example:
Load an image without blocking. In browsers images are decoded asynchronously, which loadImage can only do for DDS images.
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.
This compute style with its dynamic parameters and libraries resolved: the compute style itself when it has none, otherwise a compute style that reads them through resolver functions and has the code of the libraries it uses in its preamble. Compute style managers use it to make compute shaders.
This shade style with its dynamic parameters and libraries resolved: the shade style itself when it has none, otherwise a shade style that reads them through resolver functions and has the code of the libraries it uses in its preambles. Shade style managers use it to make shaders.
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
Clears all cached font image maps. This only exists as a temporary measure to ensure that font resources are properly released when they are no longer needed. fontImageMaps should not be a global variable in the future.
A parameter of type T read from texture at coordinate: a float reads the red channel, a vector the first channels, a color all channels
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.