[−][src]Struct gdnative_bindings::VisualShader
core class VisualShader
inherits Shader
(reference counted).
Official documentation
See the documentation of this class in the Godot engine's official documentation.
Memory management
The lifetime of this object is automatically managed through reference counting.
Class hierarchy
VisualShader inherits methods from:
Safety
All types in the Godot API have "interior mutability" in Rust parlance.
To enforce that the official thread-safety guidelines are
followed, the typestate pattern is used in the Ref
and TRef
smart pointers,
and the Instance
API. The typestate Access
in these types tracks whether the
access is unique, shared, or exclusive to the current thread. For more information,
see the type-level documentation on Ref
.
Implementations
impl VisualShader
[src]
Constants
pub const NODE_ID_INVALID: i64
[src]
pub const NODE_ID_OUTPUT: i64
[src]
pub const TYPE_FRAGMENT: i64
[src]
pub const TYPE_LIGHT: i64
[src]
pub const TYPE_MAX: i64
[src]
pub const TYPE_VERTEX: i64
[src]
impl VisualShader
[src]
pub fn new() -> Ref<Self, Unique>
[src]
Creates a new instance of this object.
This is a reference-counted type. The returned object is automatically managed
by Ref
.
pub fn add_node(
&self,
_type: i64,
node: impl AsArg<VisualShaderNode>,
position: Vector2,
id: i64
)
[src]
&self,
_type: i64,
node: impl AsArg<VisualShaderNode>,
position: Vector2,
id: i64
)
Adds the specified node to the shader.
pub fn can_connect_nodes(
&self,
_type: i64,
from_node: i64,
from_port: i64,
to_node: i64,
to_port: i64
) -> bool
[src]
&self,
_type: i64,
from_node: i64,
from_port: i64,
to_node: i64,
to_port: i64
) -> bool
Returns [code]true[/code] if the specified nodes and ports can be connected together.
pub fn connect_nodes(
&self,
_type: i64,
from_node: i64,
from_port: i64,
to_node: i64,
to_port: i64
) -> GodotResult
[src]
&self,
_type: i64,
from_node: i64,
from_port: i64,
to_node: i64,
to_port: i64
) -> GodotResult
Connects the specified nodes and ports.
pub fn connect_nodes_forced(
&self,
_type: i64,
from_node: i64,
from_port: i64,
to_node: i64,
to_port: i64
)
[src]
&self,
_type: i64,
from_node: i64,
from_port: i64,
to_node: i64,
to_port: i64
)
Connects the specified nodes and ports, even if they can't be connected. Such connection is invalid and will not function properly.
pub fn disconnect_nodes(
&self,
_type: i64,
from_node: i64,
from_port: i64,
to_node: i64,
to_port: i64
)
[src]
&self,
_type: i64,
from_node: i64,
from_port: i64,
to_node: i64,
to_port: i64
)
Connects the specified nodes and ports.
pub fn graph_offset(&self) -> Vector2
[src]
The offset vector of the whole graph.
pub fn get_node(
&self,
_type: i64,
id: i64
) -> Option<Ref<VisualShaderNode, Shared>>
[src]
&self,
_type: i64,
id: i64
) -> Option<Ref<VisualShaderNode, Shared>>
Returns the shader node instance with specified [code]type[/code] and [code]id[/code].
pub fn get_node_connections(&self, _type: i64) -> VariantArray
[src]
Returns the list of connected nodes with the specified type.
pub fn get_node_list(&self, _type: i64) -> Int32Array
[src]
Returns the list of all nodes in the shader with the specified type.
pub fn get_node_position(&self, _type: i64, id: i64) -> Vector2
[src]
Returns the position of the specified node within the shader graph.
pub fn get_valid_node_id(&self, _type: i64) -> i64
[src]
pub fn is_node_connection(
&self,
_type: i64,
from_node: i64,
from_port: i64,
to_node: i64,
to_port: i64
) -> bool
[src]
&self,
_type: i64,
from_node: i64,
from_port: i64,
to_node: i64,
to_port: i64
) -> bool
Returns [code]true[/code] if the specified node and port connection exist.
pub fn remove_node(&self, _type: i64, id: i64)
[src]
Removes the specified node from the shader.
pub fn set_graph_offset(&self, offset: Vector2)
[src]
The offset vector of the whole graph.
pub fn set_mode(&self, mode: i64)
[src]
Sets the mode of this shader.
pub fn set_node_position(&self, _type: i64, id: i64, position: Vector2)
[src]
Sets the position of the specified node.
Methods from Deref<Target = Shader>
pub const MODE_CANVAS_ITEM: i64
[src]
pub const MODE_PARTICLES: i64
[src]
pub const MODE_SPATIAL: i64
[src]
pub fn code(&self) -> GodotString
[src]
Returns the shader's code as the user has written it, not the full generated code used internally.
pub fn custom_defines(&self) -> GodotString
[src]
Returns the shader's custom defines. Custom defines can be used in Godot to add GLSL preprocessor directives (e.g: extensions) required for the shader logic.
[b]Note:[/b] Custom defines are not validated by the Godot shader parser, so care should be taken when using them.
pub fn get_default_texture_param(
&self,
param: impl Into<GodotString>
) -> Option<Ref<Texture, Shared>>
[src]
&self,
param: impl Into<GodotString>
) -> Option<Ref<Texture, Shared>>
Returns the texture that is set as default for the specified parameter.
[b]Note:[/b] [code]param[/code] must match the name of the uniform in the code exactly.
pub fn get_mode(&self) -> Mode
[src]
Returns the shader mode for the shader, either [constant MODE_CANVAS_ITEM], [constant MODE_SPATIAL] or [constant MODE_PARTICLES].
pub fn has_param(&self, name: impl Into<GodotString>) -> bool
[src]
Returns [code]true[/code] if the shader has this param defined as a uniform in its code.
[b]Note:[/b] [code]param[/code] must match the name of the uniform in the code exactly.
pub fn set_code(&self, code: impl Into<GodotString>)
[src]
Returns the shader's code as the user has written it, not the full generated code used internally.
pub fn set_custom_defines(&self, custom_defines: impl Into<GodotString>)
[src]
Returns the shader's custom defines. Custom defines can be used in Godot to add GLSL preprocessor directives (e.g: extensions) required for the shader logic.
[b]Note:[/b] Custom defines are not validated by the Godot shader parser, so care should be taken when using them.
pub fn set_default_texture_param(
&self,
param: impl Into<GodotString>,
texture: impl AsArg<Texture>
)
[src]
&self,
param: impl Into<GodotString>,
texture: impl AsArg<Texture>
)
Sets the default texture to be used with a texture uniform. The default is used if a texture is not set in the [ShaderMaterial].
[b]Note:[/b] [code]param[/code] must match the name of the uniform in the code exactly.
Trait Implementations
impl Debug for VisualShader
[src]
impl Deref for VisualShader
[src]
impl DerefMut for VisualShader
[src]
impl GodotObject for VisualShader
[src]
type RefKind = RefCounted
The memory management kind of this type. This modifies the behavior of the
Ref
smart pointer. See its type-level documentation for more
information. Read more
fn class_name() -> &'static str
[src]
fn null() -> Null<Self>
[src]
fn new() -> Ref<Self, Unique> where
Self: Instanciable,
[src]
Self: Instanciable,
fn cast<T>(&self) -> Option<&T> where
T: GodotObject + SubClass<Self>,
[src]
T: GodotObject + SubClass<Self>,
fn upcast<T>(&self) -> &T where
Self: SubClass<T>,
T: GodotObject,
[src]
Self: SubClass<T>,
T: GodotObject,
unsafe fn assume_shared(&self) -> Ref<Self, Shared>
[src]
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
[src]
Self: GodotObject<RefKind = RefCounted>,
unsafe fn assume_unique(&self) -> Ref<Self, Unique>
[src]
impl Instanciable for VisualShader
[src]
impl Sealed for VisualShader
[src]
impl SubClass<Object> for VisualShader
[src]
impl SubClass<Reference> for VisualShader
[src]
impl SubClass<Resource> for VisualShader
[src]
impl SubClass<Shader> for VisualShader
[src]
Auto Trait Implementations
impl RefUnwindSafe for VisualShader
impl !Send for VisualShader
impl !Sync for VisualShader
impl Unpin for VisualShader
impl UnwindSafe for VisualShader
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SubClass<T> for T where
T: GodotObject,
[src]
T: GodotObject,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,