Class: Gsk::GLShaderNode
- Inherits:
-
RenderNode
- Object
- RenderNode
- Gsk::GLShaderNode
- Defined in:
- (unknown)
Overview
A render node using a GL shader when drawing its children nodes.
Instance Method Summary collapse
-
#args ⇒ GLib::Bytes
Gets args for the node.
-
#get_child(idx) ⇒ Gsk::RenderNode
Gets one of the children.
-
#initialize(shader, bounds, args, children, n_children) ⇒ Gsk::GLShaderNode
constructor
Creates a
GskRenderNodethat will render the given shader into the area given by bounds. -
#n_children ⇒ Integer
Returns the number of children.
-
#shader ⇒ Gsk::GLShader
Gets shader code for the node.
Methods inherited from RenderNode
deserialize, #draw, #get_bounds, #node_type, #ref, #serialize, #unref, #write_to_file
Constructor Details
#initialize(shader, bounds, args, children, n_children) ⇒ Gsk::GLShaderNode
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 [methodGsk.GLShader.format_args] or [structGsk.ShaderArgsBuilder].
See [classGsk.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 [methodGsk.GLShader.compile] to ensure the shader will work for the renderer before using it.
Instance Method Details
#args ⇒ GLib::Bytes
Gets args for the node.
#get_child(idx) ⇒ Gsk::RenderNode
Gets one of the children.
#n_children ⇒ Integer
Returns the number of children
#shader ⇒ Gsk::GLShader
Gets shader code for the node.