Basics
Guides
API Reference
Basics
Guides
API Reference
[12:7] extends: object
A render node using a GL shader when drawing its children nodes.
GskGLShaderNode (shader = null, bounds = null, args = null, children = null, n_children = null)
Creates a
GskRenderNodethat will render the given @shader into the area given by @bounds. The @args is a block of data to use for uniform input, as per types and offsets defined by the @shader. Normally this is generated by [method@Gsk.GLShader.format_args] or [struct@Gsk.ShaderArgsBuilder]. See [class@Gsk.GLShader] for details about how the shader should be written. All the children will be rendered into textures (if they aren't alreadyGskTextureNodes, which will be used directly). These textures will be sent as input to the shader. If the renderer doesn't support GL shaders, or if there is any problem when compiling the shader, then the node will draw pink. You should use [method@Gsk.GLShader.compile] to ensure the @shader will work for the renderer before using it.
shader is the GskGLShader.bounds is the rectangle to render the shader into.args is Arguments for the uniforms.children is array of child nodes, these will be rendered to textures and used as input..n_children is Length of @children (currently the GL backend supports up to 4 children).toNativeHandle (Source)
Normalizes a constructor argument into a raw pointer carrier. Accepts a raw NativeHandle, a raw NativeBuffer returned from
fn.call(...), another generated wrapper exposinghandle(), or null. Returns null when the argument carries no pointer.
Source is the raw handle, raw buffer, wrapper, or null.A raw pointer carrier or null when no pointer is present.getLib ()
Returns the opened native library for this generated wrapper.
The opened native library.handle ()
Returns the wrapped NativeHandle.
The wrapped NativeHandle.isNull ()
Returns true when the wrapped handle is null.
A bool.describe ()
Returns a small string for debugging generated wrappers.
A string.asRenderNode ()
Wraps this handle as
GskRenderNode.
A GskRenderNode object.get_args ()
Gets args for the node.
A GBytes with the uniform arguments.get_child (int idx)
Gets one of the children.
idx is the position of the child to get.the @idx'th child of @node.get_n_children ()
Returns the number of children
The number of children.get_shader ()
Gets shader code for the node.
the GskGLShader shader.
Aussom
Write once. Embed everywhere.
Copyright 2026 Austin Lehman. All rights reserved.