[−][src]Struct gdnative_bindings::MultiMesh
core class MultiMesh
inherits Resource
(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
MultiMesh 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 MultiMesh
[src]
Constants
pub const COLOR_8BIT: i64
[src]
pub const COLOR_FLOAT: i64
[src]
pub const COLOR_NONE: i64
[src]
pub const CUSTOM_DATA_8BIT: i64
[src]
pub const CUSTOM_DATA_FLOAT: i64
[src]
pub const CUSTOM_DATA_NONE: i64
[src]
pub const TRANSFORM_2D: i64
[src]
pub const TRANSFORM_3D: i64
[src]
impl MultiMesh
[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 get_aabb(&self) -> Aabb
[src]
Returns the visibility axis-aligned bounding box in local space. See also [method VisualInstance.get_transformed_aabb].
pub fn color_format(&self) -> ColorFormat
[src]
Format of colors in color array that gets passed to shader.
pub fn custom_data_format(&self) -> CustomDataFormat
[src]
Format of custom data in custom data array that gets passed to shader.
pub fn get_instance_color(&self, instance: i64) -> Color
[src]
Gets a specific instance's color.
pub fn instance_count(&self) -> i64
[src]
Number of instances that will get drawn. This clears and (re)sizes the buffers. By default, all instances are drawn but you can limit this with [member visible_instance_count].
pub fn get_instance_custom_data(&self, instance: i64) -> Color
[src]
Returns the custom data that has been set for a specific instance.
pub fn get_instance_transform(&self, instance: i64) -> Transform
[src]
Returns the [Transform] of a specific instance.
pub fn get_instance_transform_2d(&self, instance: i64) -> Transform2D
[src]
Returns the [Transform2D] of a specific instance.
pub fn mesh(&self) -> Option<Ref<Mesh, Shared>>
[src]
Mesh to be drawn.
pub fn transform_format(&self) -> TransformFormat
[src]
Format of transform used to transform mesh, either 2D or 3D.
pub fn visible_instance_count(&self) -> i64
[src]
Limits the number of instances drawn, -1 draws all instances. Changing this does not change the sizes of the buffers.
pub fn set_as_bulk_array(&self, array: Float32Array)
[src]
Sets all data related to the instances in one go. This is especially useful when loading the data from disk or preparing the data from GDNative.
All data is packed in one large float array. An array may look like this: Transform for instance 1, color data for instance 1, custom data for instance 1, transform for instance 2, color data for instance 2, etc...
[Transform] is stored as 12 floats, [Transform2D] is stored as 8 floats, [code]COLOR_8BIT[/code] / [code]CUSTOM_DATA_8BIT[/code] is stored as 1 float (4 bytes as is) and [code]COLOR_FLOAT[/code] / [code]CUSTOM_DATA_FLOAT[/code] is stored as 4 floats.
pub fn set_color_format(&self, format: i64)
[src]
Format of colors in color array that gets passed to shader.
pub fn set_custom_data_format(&self, format: i64)
[src]
Format of custom data in custom data array that gets passed to shader.
pub fn set_instance_color(&self, instance: i64, color: Color)
[src]
Sets the color of a specific instance.
For the color to take effect, ensure that [member color_format] is non-[code]null[/code] on the [MultiMesh] and [member SpatialMaterial.vertex_color_use_as_albedo] is [code]true[/code] on the material.
pub fn set_instance_count(&self, count: i64)
[src]
Number of instances that will get drawn. This clears and (re)sizes the buffers. By default, all instances are drawn but you can limit this with [member visible_instance_count].
pub fn set_instance_custom_data(&self, instance: i64, custom_data: Color)
[src]
Sets custom data for a specific instance. Although [Color] is used, it is just a container for 4 floating point numbers. The format of the number can change depending on the [enum CustomDataFormat] used.
pub fn set_instance_transform(&self, instance: i64, transform: Transform)
[src]
Sets the [Transform] for a specific instance.
pub fn set_instance_transform_2d(&self, instance: i64, transform: Transform2D)
[src]
Sets the [Transform2D] for a specific instance.
pub fn set_mesh(&self, mesh: impl AsArg<Mesh>)
[src]
Mesh to be drawn.
pub fn set_transform_format(&self, format: i64)
[src]
Format of transform used to transform mesh, either 2D or 3D.
pub fn set_visible_instance_count(&self, count: i64)
[src]
Limits the number of instances drawn, -1 draws all instances. Changing this does not change the sizes of the buffers.
Methods from Deref<Target = Resource>
pub fn duplicate(&self, subresources: bool) -> Option<Ref<Resource, Shared>>
[src]
Duplicates the resource, returning a new resource. By default, sub-resources are shared between resource copies for efficiency. This can be changed by passing [code]true[/code] to the [code]subresources[/code] argument which will copy the subresources.
[b]Note:[/b] If [code]subresources[/code] is [code]true[/code], this method will only perform a shallow copy. Nested resources within subresources will not be duplicated and will still be shared.
Default Arguments
subresources
-false
pub fn get_local_scene(&self) -> Option<Ref<Node, Shared>>
[src]
If [member resource_local_to_scene] is enabled and the resource was loaded from a [PackedScene] instantiation, returns the local scene where this resource's unique copy is in use. Otherwise, returns [code]null[/code].
pub fn name(&self) -> GodotString
[src]
The name of the resource. This is an optional identifier.
pub fn path(&self) -> GodotString
[src]
The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.
pub fn get_rid(&self) -> Rid
[src]
Returns the RID of the resource (or an empty RID). Many resources (such as [Texture], [Mesh], etc) are high-level abstractions of resources stored in a server, so this function will return the original RID.
pub fn is_local_to_scene(&self) -> bool
[src]
If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.
pub fn set_local_to_scene(&self, enable: bool)
[src]
If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.
pub fn set_name(&self, name: impl Into<GodotString>)
[src]
The name of the resource. This is an optional identifier.
pub fn set_path(&self, path: impl Into<GodotString>)
[src]
The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.
pub fn setup_local_to_scene(&self)
[src]
This method is called when a resource with [member resource_local_to_scene] enabled is loaded from a [PackedScene] instantiation. Its behavior can be customized by overriding [method _setup_local_to_scene] from script.
For most resources, this method performs no base logic. [ViewportTexture] performs custom logic to properly set the proxy texture and flags in the local viewport.
pub fn take_over_path(&self, path: impl Into<GodotString>)
[src]
Sets the path of the resource, potentially overriding an existing cache entry for this path. This differs from setting [member resource_path], as the latter would error out if another resource was already cached for the given path.
Trait Implementations
impl Debug for MultiMesh
[src]
impl Deref for MultiMesh
[src]
impl DerefMut for MultiMesh
[src]
impl GodotObject for MultiMesh
[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 MultiMesh
[src]
impl Sealed for MultiMesh
[src]
impl SubClass<Object> for MultiMesh
[src]
impl SubClass<Reference> for MultiMesh
[src]
impl SubClass<Resource> for MultiMesh
[src]
Auto Trait Implementations
impl RefUnwindSafe for MultiMesh
impl !Send for MultiMesh
impl !Sync for MultiMesh
impl Unpin for MultiMesh
impl UnwindSafe for MultiMesh
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>,