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
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
enum Type:
- 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
- NODE_ID_INVALID = -1
- NODE_ID_OUTPUT = 0
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.
bool can_connect_nodes ( Type type, int from_node, int from_port, int to_node, int to_port ) const
Returns true
if the specified nodes and ports can be connected together.
Error connect_nodes ( Type type, int from_node, int from_port, int to_node, int to_port )
Connects the specified nodes and ports.
void connect_nodes_forced ( Type type, int from_node, int from_port, int to_node, int to_port )
Connects the specified nodes and ports, even if they can't be connected. Such connection is invalid and will not function properly.
void disconnect_nodes ( Type type, int from_node, int from_port, int to_node, int to_port )
Connects the specified nodes and ports.
VisualShaderNode get_node ( Type type, int id ) const
Returns the shader node instance with specified type
and id
.
Array get_node_connections ( Type type ) const
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.
Vector2 get_node_position ( Type type, int id ) const
Returns the position of the specified node within the shader graph.
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
Returns true
if the specified node and port connection exist.
void remove_node ( Type type, int id )
Removes the specified node from the shader.
void set_mode ( Mode mode )
Sets the mode of this shader.
void set_node_position ( Type type, int id, Vector2 position )
Sets the position of the specified node.
© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_visualshader.html