VisualShader¶
Inherits: Shader < Resource < Reference < Object
A custom shader program with a visual editor.
Description¶
This class allows you to define a custom shader program that can be used for various materials to render objects.
The visual shader editor creates the shader.
Properties¶
String | code | "shader_type spatial;void vertex() {// Output:0}void fragment() {// Output:0}void light() {// Output:0}" (parent override) |
Vector2 | graph_offset | Vector2( 0, 0 ) |
Methods¶
void | add_node ( Type type, VisualShaderNode node, Vector2 position, int id ) |
bool | can_connect_nodes ( Type type, int from_node, int from_port, int to_node, int to_port ) const |
Error | connect_nodes ( Type type, int from_node, int from_port, int to_node, int to_port ) |
void | connect_nodes_forced ( Type type, int from_node, int from_port, int to_node, int to_port ) |
void | disconnect_nodes ( Type type, int from_node, int from_port, int to_node, int to_port ) |
VisualShaderNode | get_node ( Type type, int id ) const |
Array | get_node_connections ( Type type ) const |
PoolIntArray | get_node_list ( Type type ) const |
Vector2 | get_node_position ( Type type, int id ) const |
int | get_valid_node_id ( Type type ) const |
bool | is_node_connection ( Type type, int from_node, int from_port, int to_node, int to_port ) const |
void | remove_node ( Type type, int id ) |
void | set_mode ( Mode mode ) |
void | set_node_position ( Type type, int id, Vector2 position ) |
Enumerations¶
- TYPE_VERTEX = 0 — A vertex shader, operating on vertices.
- TYPE_FRAGMENT = 1 — A fragment shader, operating on fragments (pixels).
- TYPE_LIGHT = 2 — A shader for light calculations.
- TYPE_MAX = 3 — Represents the size of the Type enum.
Constants¶
Property Descriptions¶
- Vector2 graph_offset
Default | Vector2( 0, 0 ) |
Setter | set_graph_offset(value) |
Getter | get_graph_offset() |
The offset vector of the whole graph.
Method Descriptions¶
- void add_node ( Type type, VisualShaderNode node, Vector2 position, int id )
Adds the specified node to the shader.
Returns true
if the specified nodes and ports can be connected together.
Connects the specified nodes and ports.
Connects the specified nodes and ports, even if they can’t be connected. Such connection is invalid and will not function properly.
Connects the specified nodes and ports.
- VisualShaderNode get_node ( Type type, int id ) const
Returns the shader node instance with specified type
and id
.
Returns the list of connected nodes with the specified type.
- PoolIntArray get_node_list ( Type type ) const
Returns the list of all nodes in the shader with the specified type.
Returns the position of the specified node within the shader graph.
Returns true
if the specified node and port connection exist.
Removes the specified node from the shader.
- void set_mode ( Mode mode )
Sets the mode of this shader.
Sets the position of the specified node.