[][src]Struct gdnative::api::ShaderMaterial

pub struct ShaderMaterial { /* fields omitted */ }

core class ShaderMaterial inherits Material (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

ShaderMaterial 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 ShaderMaterial[src]

pub fn new() -> Ref<ShaderMaterial, 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 shader(&self) -> Option<Ref<Shader, Shared>>[src]

The [Shader] program used to render this material.

pub fn get_shader_param(&self, param: impl Into<GodotString>) -> Variant[src]

Returns the current value set for this material of a uniform in the shader.

pub fn property_can_revert(&self, name: impl Into<GodotString>) -> bool[src]

Returns [code]true[/code] if the property identified by [code]name[/code] can be reverted to a default value.

pub fn property_get_revert(&self, name: impl Into<GodotString>) -> Variant[src]

Returns the default value of the material property with given [code]name[/code].

pub fn set_shader(&self, shader: impl AsArg<Shader>)[src]

The [Shader] program used to render this material.

pub fn set_shader_param(
    &self,
    param: impl Into<GodotString>,
    value: impl OwnedToVariant
)
[src]

Changes the value set for this material of a uniform in the shader. [b]Note:[/b] [code]param[/code] must match the name of the uniform in the code exactly.

Methods from Deref<Target = Material>

pub fn next_pass(&self) -> Option<Ref<Material, Shared>>[src]

Sets the [Material] to be used for the next pass. This renders the object again using a different material.
			[b]Note:[/b] only applies to [SpatialMaterial]s and [ShaderMaterial]s with type "Spatial".

pub fn render_priority(&self) -> i64[src]

Sets the render priority for transparent objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects.
			[b]Note:[/b] this only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority).

pub fn set_next_pass(&self, next_pass: impl AsArg<Material>)[src]

Sets the [Material] to be used for the next pass. This renders the object again using a different material.
			[b]Note:[/b] only applies to [SpatialMaterial]s and [ShaderMaterial]s with type "Spatial".

pub fn set_render_priority(&self, priority: i64)[src]

Sets the render priority for transparent objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects.
			[b]Note:[/b] this only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority).

Trait Implementations

impl Debug for ShaderMaterial[src]

impl Deref for ShaderMaterial[src]

type Target = Material

The resulting type after dereferencing.

impl DerefMut for ShaderMaterial[src]

impl GodotObject for ShaderMaterial[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

impl Instanciable for ShaderMaterial[src]

impl SubClass<Material> for ShaderMaterial[src]

impl SubClass<Object> for ShaderMaterial[src]

impl SubClass<Reference> for ShaderMaterial[src]

impl SubClass<Resource> for ShaderMaterial[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.