A custom shader program with a visual editor. 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. Adds the specified node to the shader. Returns [code]true[/code] 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. Returns the shader node instance with specified [code]type[/code] and [code]id[/code]. Returns the list of connected nodes with the specified type. 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 [code]true[/code] if the specified node and port connection exist. Removes the specified node from the shader. Replaces the specified node with a node of new class type. Sets the mode of this shader. Sets the position of the specified node. The offset vector of the whole graph. A vertex shader, operating on vertices. A fragment shader, operating on fragments (pixels). A shader for light calculations. Represents the size of the [enum Type] enum.