GLShaderNode.this

Creates a GskRenderNode that 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 already GskTextureNodes, 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.

  1. this(GskGLShaderNode* gskGLShaderNode, bool ownedRef)
  2. this(GLShader shader, Rect bounds, Bytes args, RenderNode[] children)

Parameters

shader GLShader

the #GskGLShader

bounds Rect

the rectangle to render the shader into

args Bytes

Arguments for the uniforms

children RenderNode[]

array of child nodes, these will be rendered to textures and used as input.

Return Value

A new GskRenderNode

Throws

ConstructionException GTK+ fails to create the object.

Meta