Documentation ¶
Overview ¶
Package VisualShader provides methods for working with VisualShader object instances.
Index ¶
- type Advanced
- type Any
- type Error
- type Instance
- func (self Instance) AddNode(atype gdclass.VisualShaderType, node [1]gdclass.VisualShaderNode, ...)
- func (self Instance) AddVarying(name string, mode gdclass.VisualShaderVaryingMode, ...)
- func (self Instance) AsObject() [1]gd.Object
- func (self Instance) AsRefCounted() [1]gd.RefCounted
- func (self Instance) AsResource() Resource.Instance
- func (self Instance) AsShader() Shader.Instance
- func (self Instance) AsVisualShader() Instance
- func (self Instance) AttachNodeToFrame(atype gdclass.VisualShaderType, id int, frame_ int)
- func (self Instance) CanConnectNodes(atype gdclass.VisualShaderType, from_node int, from_port int, to_node int, ...) bool
- func (self Instance) ConnectNodes(atype gdclass.VisualShaderType, from_node int, from_port int, to_node int, ...) error
- func (self Instance) ConnectNodesForced(atype gdclass.VisualShaderType, from_node int, from_port int, to_node int, ...)
- func (self Instance) DetachNodeFromFrame(atype gdclass.VisualShaderType, id int)
- func (self Instance) DisconnectNodes(atype gdclass.VisualShaderType, from_node int, from_port int, to_node int, ...)
- func (self Instance) GetNode(atype gdclass.VisualShaderType, id int) [1]gdclass.VisualShaderNode
- func (self Instance) GetNodeConnections(atype gdclass.VisualShaderType) []map[string]interface{}
- func (self Instance) GetNodeList(atype gdclass.VisualShaderType) []int32
- func (self Instance) GetNodePosition(atype gdclass.VisualShaderType, id int) Vector2.XY
- func (self Instance) GetValidNodeId(atype gdclass.VisualShaderType) int
- func (self Instance) GraphOffset() Vector2.XY
- func (self Instance) HasVarying(name string) bool
- func (self Instance) IsNodeConnection(atype gdclass.VisualShaderType, from_node int, from_port int, to_node int, ...) bool
- func (self Instance) RemoveNode(atype gdclass.VisualShaderType, id int)
- func (self Instance) RemoveVarying(name string)
- func (self Instance) ReplaceNode(atype gdclass.VisualShaderType, id int, new_class string)
- func (self Instance) SetGraphOffset(value Vector2.XY)
- func (self Instance) SetMode(mode gdclass.ShaderMode)
- func (self Instance) SetNodePosition(atype gdclass.VisualShaderType, id int, position Vector2.XY)
- func (self *Instance) UnsafePointer() unsafe.Pointer
- func (self Instance) Virtual(name string) reflect.Value
- type Type
- type VaryingMode
- type VaryingType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Advanced ¶
type Advanced = class
Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.
type Error ¶
const ( /*Methods that return [enum Error] return [constant OK] when no error occurred. Since [constant OK] has value 0, and all other error constants are positive integers, it can also be used in boolean checks. [b]Example:[/b] [codeblock] var error = method_that_returns_error() if error != OK: printerr("Failure!") # Or, alternatively: if error: printerr("Still failing!") [/codeblock] [b]Note:[/b] Many functions do not return an error code, but will print error messages to standard output.*/ Ok Error = 0 /*Generic error.*/ Failed Error = 1 ErrUnavailable Error = 2 /*Unconfigured error.*/ ErrUnconfigured Error = 3 ErrUnauthorized Error = 4 /*Parameter range error.*/ ErrParameterRangeError Error = 5 /*Out of memory (OOM) error.*/ ErrOutOfMemory Error = 6 /*File: Not found error.*/ ErrFileNotFound Error = 7 /*File: Bad drive error.*/ ErrFileBadDrive Error = 8 /*File: Bad path error.*/ ErrFileBadPath Error = 9 /*File: No permission error.*/ ErrFileNoPermission Error = 10 /*File: Already in use error.*/ ErrFileAlreadyInUse Error = 11 /*File: Can't open error.*/ ErrFileCantOpen Error = 12 /*File: Can't write error.*/ ErrFileCantWrite Error = 13 /*File: Can't read error.*/ ErrFileCantRead Error = 14 /*File: Unrecognized error.*/ ErrFileUnrecognized Error = 15 /*File: Corrupt error.*/ ErrFileCorrupt Error = 16 /*File: Missing dependencies error.*/ ErrFileMissingDependencies Error = 17 /*File: End of file (EOF) error.*/ ErrFileEof Error = 18 /*Can't open error.*/ ErrCantOpen Error = 19 /*Can't create error.*/ ErrCantCreate Error = 20 /*Query failed error.*/ ErrQueryFailed Error = 21 /*Already in use error.*/ ErrAlreadyInUse Error = 22 /*Locked error.*/ ErrLocked Error = 23 /*Timeout error.*/ ErrTimeout Error = 24 /*Can't connect error.*/ ErrCantConnect Error = 25 /*Can't resolve error.*/ ErrCantResolve Error = 26 /*Connection error.*/ ErrConnectionError Error = 27 /*Can't acquire resource error.*/ ErrCantAcquireResource Error = 28 /*Can't fork process error.*/ ErrCantFork Error = 29 /*Invalid data error.*/ ErrInvalidData Error = 30 /*Invalid parameter error.*/ ErrInvalidParameter Error = 31 /*Already exists error.*/ ErrAlreadyExists Error = 32 /*Does not exist error.*/ ErrDoesNotExist Error = 33 /*Database: Read error.*/ ErrDatabaseCantRead Error = 34 /*Database: Write error.*/ ErrDatabaseCantWrite Error = 35 /*Compilation failed error.*/ ErrCompilationFailed Error = 36 /*Method not found error.*/ ErrMethodNotFound Error = 37 /*Linking failed error.*/ ErrLinkFailed Error = 38 /*Script failed error.*/ ErrScriptFailed Error = 39 /*Cycling link (import cycle) error.*/ ErrCyclicLink Error = 40 /*Invalid declaration error.*/ ErrInvalidDeclaration Error = 41 /*Duplicate symbol error.*/ ErrDuplicateSymbol Error = 42 /*Parse error.*/ ErrParseError Error = 43 /*Busy error.*/ ErrBusy Error = 44 /*Skip error.*/ ErrSkip Error = 45 /*Help error. Used internally when passing [code]--version[/code] or [code]--help[/code] as executable options.*/ ErrHelp Error = 46 /*Bug error, caused by an implementation issue in the method. [b]Note:[/b] If a built-in method returns this code, please open an issue on [url=https://github.com/godotengine/godot/issues]the GitHub Issue Tracker[/url].*/ ErrBug Error = 47 /*Printer on fire error (This is an easter egg, no built-in methods return this error code).*/ ErrPrinterOnFire Error = 48 )
type Instance ¶
type Instance [1]gdclass.VisualShader
This class provides a graph-like visual editor for creating a [Shader]. Although [VisualShader]s do not require coding, they share the same logic with script shaders. They use [VisualShaderNode]s that can be connected to each other to control the flow of the shader. The visual shader graph is converted to a script shader behind the scenes.
var Nil Instance
Nil is a nil/null instance of the class. Equivalent to the zero value.
func (Instance) AddNode ¶
func (self Instance) AddNode(atype gdclass.VisualShaderType, node [1]gdclass.VisualShaderNode, position Vector2.XY, id int)
Adds the specified [param node] to the shader.
func (Instance) AddVarying ¶
func (self Instance) AddVarying(name string, mode gdclass.VisualShaderVaryingMode, atype gdclass.VisualShaderVaryingType)
Adds a new varying value node to the shader.
func (Instance) AsRefCounted ¶
func (self Instance) AsRefCounted() [1]gd.RefCounted
func (Instance) AsResource ¶
func (Instance) AsVisualShader ¶
func (Instance) AttachNodeToFrame ¶
func (self Instance) AttachNodeToFrame(atype gdclass.VisualShaderType, id int, frame_ int)
Attaches the given node to the given frame.
func (Instance) CanConnectNodes ¶
func (self Instance) CanConnectNodes(atype gdclass.VisualShaderType, from_node int, from_port int, to_node int, to_port int) bool
Returns [code]true[/code] if the specified nodes and ports can be connected together.
func (Instance) ConnectNodes ¶
func (self Instance) ConnectNodes(atype gdclass.VisualShaderType, from_node int, from_port int, to_node int, to_port int) error
Connects the specified nodes and ports.
func (Instance) ConnectNodesForced ¶
func (self Instance) ConnectNodesForced(atype gdclass.VisualShaderType, from_node int, from_port int, to_node int, to_port int)
Connects the specified nodes and ports, even if they can't be connected. Such connection is invalid and will not function properly.
func (Instance) DetachNodeFromFrame ¶
func (self Instance) DetachNodeFromFrame(atype gdclass.VisualShaderType, id int)
Detaches the given node from the frame it is attached to.
func (Instance) DisconnectNodes ¶
func (self Instance) DisconnectNodes(atype gdclass.VisualShaderType, from_node int, from_port int, to_node int, to_port int)
Connects the specified nodes and ports.
func (Instance) GetNode ¶
func (self Instance) GetNode(atype gdclass.VisualShaderType, id int) [1]gdclass.VisualShaderNode
Returns the shader node instance with specified [param type] and [param id].
func (Instance) GetNodeConnections ¶
func (self Instance) GetNodeConnections(atype gdclass.VisualShaderType) []map[string]interface{}
Returns the list of connected nodes with the specified type.
func (Instance) GetNodeList ¶
func (self Instance) GetNodeList(atype gdclass.VisualShaderType) []int32
Returns the list of all nodes in the shader with the specified type.
func (Instance) GetNodePosition ¶
Returns the position of the specified node within the shader graph.
func (Instance) GetValidNodeId ¶
func (self Instance) GetValidNodeId(atype gdclass.VisualShaderType) int
Returns next valid node ID that can be added to the shader graph.
func (Instance) GraphOffset ¶
func (Instance) HasVarying ¶
Returns [code]true[/code] if the shader has a varying with the given [param name].
func (Instance) IsNodeConnection ¶
func (self Instance) IsNodeConnection(atype gdclass.VisualShaderType, from_node int, from_port int, to_node int, to_port int) bool
Returns [code]true[/code] if the specified node and port connection exist.
func (Instance) RemoveNode ¶
func (self Instance) RemoveNode(atype gdclass.VisualShaderType, id int)
Removes the specified node from the shader.
func (Instance) RemoveVarying ¶
Removes a varying value node with the given [param name]. Prints an error if a node with this name is not found.
func (Instance) ReplaceNode ¶
func (self Instance) ReplaceNode(atype gdclass.VisualShaderType, id int, new_class string)
Replaces the specified node with a node of new class type.
func (Instance) SetGraphOffset ¶
func (Instance) SetMode ¶
func (self Instance) SetMode(mode gdclass.ShaderMode)
Sets the mode of this shader.
func (Instance) SetNodePosition ¶
Sets the position of the specified node.
func (*Instance) UnsafePointer ¶
type Type ¶
type Type = gdclass.VisualShaderType //gd:VisualShader.Type
const ( /*A vertex shader, operating on vertices.*/ TypeVertex Type = 0 /*A fragment shader, operating on fragments (pixels).*/ TypeFragment Type = 1 /*A shader for light calculations.*/ TypeLight Type = 2 /*A function for the "start" stage of particle shader.*/ TypeStart Type = 3 /*A function for the "process" stage of particle shader.*/ TypeProcess Type = 4 /*A function for the "collide" stage (particle collision handler) of particle shader.*/ TypeCollide Type = 5 /*A function for the "start" stage of particle shader, with customized output.*/ TypeStartCustom Type = 6 /*A function for the "process" stage of particle shader, with customized output.*/ TypeProcessCustom Type = 7 /*A shader for 3D environment's sky.*/ TypeSky Type = 8 /*A compute shader that runs for each froxel of the volumetric fog map.*/ TypeFog Type = 9 /*Represents the size of the [enum Type] enum.*/ TypeMax Type = 10 )
type VaryingMode ¶
type VaryingMode = gdclass.VisualShaderVaryingMode //gd:VisualShader.VaryingMode
const ( /*Varying is passed from [code]Vertex[/code] function to [code]Fragment[/code] and [code]Light[/code] functions.*/ VaryingModeVertexToFragLight VaryingMode = 0 /*Varying is passed from [code]Fragment[/code] function to [code]Light[/code] function.*/ VaryingModeFragToLight VaryingMode = 1 /*Represents the size of the [enum VaryingMode] enum.*/ VaryingModeMax VaryingMode = 2 )
type VaryingType ¶
type VaryingType = gdclass.VisualShaderVaryingType //gd:VisualShader.VaryingType
const ( /*Varying is of type [float].*/ VaryingTypeFloat VaryingType = 0 /*Varying is of type [int].*/ VaryingTypeInt VaryingType = 1 /*Varying is of type unsigned [int].*/ VaryingTypeUint VaryingType = 2 /*Varying is of type [Vector2].*/ VaryingTypeVector2d VaryingType = 3 /*Varying is of type [Vector3].*/ VaryingTypeVector3d VaryingType = 4 /*Varying is of type [Vector4].*/ VaryingTypeVector4d VaryingType = 5 /*Varying is of type [bool].*/ VaryingTypeBoolean VaryingType = 6 /*Varying is of type [Transform3D].*/ VaryingTypeTransform VaryingType = 7 /*Represents the size of the [enum VaryingType] enum.*/ VaryingTypeMax VaryingType = 8 )