VisualShader

Inherits: Shader < Resource < Reference < Object

Un programa shader personalizado con un editor visual.

Descripción

Esta clase permite definir un programa shader personalizado que puede ser usado por varios materiales para renderizar objetos.

El editor de shader visual crea el shader.

Propiedades

Vector2

graph_offset

Vector2( 0, 0 )

Métodos

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 )

Enumeraciones

enum Type:

  • TYPE_VERTEX = 0 --- Un shader de vértices, operando en vértices.

  • TYPE_FRAGMENT = 1 --- Un shader de fragmentos, operando con fragmentos (píxeles).

  • TYPE_LIGHT = 2 --- Un shader para cálculos de luz.

  • TYPE_MAX = 3 --- Representa el tamaño del enum Type.

Constantes

  • NODE_ID_INVALID = -1

  • NODE_ID_OUTPUT = 0

Descripciones de Propiedades

Default

Vector2( 0, 0 )

Setter

set_graph_offset(value)

Getter

get_graph_offset()

El vector de desplazamiento de todo el gráfico.

Descripciones de Métodos

Añade el nodo especificado al shader.


  • bool can_connect_nodes ( Type type, int from_node, int from_port, int to_node, int to_port ) const

Devuelve true si los nodos y puertos especificados pueden ser conectados juntos.


Conecta los nodos y puertos especificados.


  • void connect_nodes_forced ( Type type, int from_node, int from_port, int to_node, int to_port )

Conecta los nodos y puertos especificados, aunque no puedan ser conectados. Dicha conexión es inválida y no funcionará correctamente.


  • void disconnect_nodes ( Type type, int from_node, int from_port, int to_node, int to_port )

Conecta los nodos y puertos especificados.


Devuelve la instancia del nodo shader con el tipo type y id especificados.


  • Array get_node_connections ( Type type ) const

Devuelve la lista de nodos conectados con el tipo especificado.


Devuelve la lista de todos los nodos del shader con el tipo especificado.


Devuelve la posición del nodo especificado dentro del gráfico shader.


  • 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

Devuelve true si existe el nodo y la conexión de puerto especificados.


  • void remove_node ( Type type, int id )

Elimina el nodo especificado del shader.


  • void set_mode ( Mode mode )

Establece el modo de este shader.


Establece la posición del nodo especificado.