[−][src]Struct gdnative_bindings::ReflectionProbe
core class ReflectionProbe
inherits VisualInstance
(unsafe).
Official documentation
See the documentation of this class in the Godot engine's official documentation.
Memory management
Non reference counted objects such as the ones of this type are usually owned by the engine.
ReflectionProbe
is a reference-only type. Persistent references can
only exist in the unsafe Ref<ReflectionProbe>
form.
In the cases where Rust code owns an object of this type, for example if the object was just
created on the Rust side and not passed to the engine yet, ownership should be either given
to the engine or the object must be manually destroyed using Ref::free
, or Ref::queue_free
if it is a Node
.
Class hierarchy
ReflectionProbe 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 ReflectionProbe
[src]
Constants
pub const UPDATE_ALWAYS: i64
[src]
pub const UPDATE_ONCE: i64
[src]
impl ReflectionProbe
[src]
pub fn new() -> Ref<Self, Unique>
[src]
Creates a new instance of this object.
Because this type is not reference counted, the lifetime of the returned object is not automatically managed.
Immediately after creation, the object is owned by the caller, and can be
passed to the engine (in which case the engine will be responsible for
destroying the object) or destroyed manually using Ref::free
, or preferably
Ref::queue_free
if it is a Node
.
pub fn are_shadows_enabled(&self) -> bool
[src]
If [code]true[/code], computes shadows in the reflection probe. This makes the reflection probe slower to render; you may want to disable this if using the [constant UPDATE_ALWAYS] [member update_mode].
pub fn cull_mask(&self) -> i64
[src]
Sets the cull mask which determines what objects are drawn by this probe. Every [VisualInstance] with a layer included in this cull mask will be rendered by the probe. It is best to only include large objects which are likely to take up a lot of space in the reflection in order to save on rendering cost.
pub fn extents(&self) -> Vector3
[src]
The size of the reflection probe. The larger the extents the more space covered by the probe which will lower the perceived resolution. It is best to keep the extents only as large as you need them.
pub fn intensity(&self) -> f64
[src]
Defines the reflection intensity. Intensity modulates the strength of the reflection.
pub fn interior_ambient(&self) -> Color
[src]
Sets the ambient light color to be used when this probe is set to [member interior_enable].
pub fn interior_ambient_energy(&self) -> f64
[src]
Sets the energy multiplier for this reflection probe's ambient light contribution when set to [member interior_enable].
pub fn interior_ambient_probe_contribution(&self) -> f64
[src]
Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to [member interior_enable]. Useful so that ambient light matches the color of the room.
pub fn max_distance(&self) -> f64
[src]
Sets the max distance away from the probe an object can be before it is culled.
pub fn origin_offset(&self) -> Vector3
[src]
Sets the origin offset to be used when this reflection probe is in box project mode.
pub fn update_mode(&self) -> UpdateMode
[src]
Sets how frequently the probe is updated. Can be [constant UPDATE_ONCE] or [constant UPDATE_ALWAYS].
pub fn is_box_projection_enabled(&self) -> bool
[src]
If [code]true[/code], enables box projection. This makes reflections look more correct in rectangle-shaped rooms by offsetting the reflection center depending on the camera's location.
pub fn is_set_as_interior(&self) -> bool
[src]
If [code]true[/code], reflections will ignore sky contribution. Ambient lighting is then controlled by the [code]interior_ambient_*[/code] properties.
pub fn set_as_interior(&self, enable: bool)
[src]
If [code]true[/code], reflections will ignore sky contribution. Ambient lighting is then controlled by the [code]interior_ambient_*[/code] properties.
pub fn set_cull_mask(&self, layers: i64)
[src]
Sets the cull mask which determines what objects are drawn by this probe. Every [VisualInstance] with a layer included in this cull mask will be rendered by the probe. It is best to only include large objects which are likely to take up a lot of space in the reflection in order to save on rendering cost.
pub fn set_enable_box_projection(&self, enable: bool)
[src]
If [code]true[/code], enables box projection. This makes reflections look more correct in rectangle-shaped rooms by offsetting the reflection center depending on the camera's location.
pub fn set_enable_shadows(&self, enable: bool)
[src]
If [code]true[/code], computes shadows in the reflection probe. This makes the reflection probe slower to render; you may want to disable this if using the [constant UPDATE_ALWAYS] [member update_mode].
pub fn set_extents(&self, extents: Vector3)
[src]
The size of the reflection probe. The larger the extents the more space covered by the probe which will lower the perceived resolution. It is best to keep the extents only as large as you need them.
pub fn set_intensity(&self, intensity: f64)
[src]
Defines the reflection intensity. Intensity modulates the strength of the reflection.
pub fn set_interior_ambient(&self, ambient: Color)
[src]
Sets the ambient light color to be used when this probe is set to [member interior_enable].
pub fn set_interior_ambient_energy(&self, ambient_energy: f64)
[src]
Sets the energy multiplier for this reflection probe's ambient light contribution when set to [member interior_enable].
pub fn set_interior_ambient_probe_contribution(
&self,
ambient_probe_contribution: f64
)
[src]
&self,
ambient_probe_contribution: f64
)
Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to [member interior_enable]. Useful so that ambient light matches the color of the room.
pub fn set_max_distance(&self, max_distance: f64)
[src]
Sets the max distance away from the probe an object can be before it is culled.
pub fn set_origin_offset(&self, origin_offset: Vector3)
[src]
Sets the origin offset to be used when this reflection probe is in box project mode.
pub fn set_update_mode(&self, mode: i64)
[src]
Sets how frequently the probe is updated. Can be [constant UPDATE_ONCE] or [constant UPDATE_ALWAYS].
Methods from Deref<Target = VisualInstance>
pub fn get_aabb(&self) -> Aabb
[src]
Returns the [AABB] (also known as the bounding box) for this [VisualInstance]. See also [method get_transformed_aabb].
pub fn get_base(&self) -> Rid
[src]
Returns the RID of the resource associated with this [VisualInstance]. For example, if the Node is a [MeshInstance], this will return the RID of the associated [Mesh].
pub fn get_instance(&self) -> Rid
[src]
Returns the RID of this instance. This RID is the same as the RID returned by [method VisualServer.instance_create]. This RID is needed if you want to call [VisualServer] functions directly on this [VisualInstance].
pub fn layer_mask(&self) -> i64
[src]
The render layer(s) this [VisualInstance] is drawn on.
This object will only be visible for [Camera]s whose cull mask includes the render object this [VisualInstance] is set to.
pub fn get_layer_mask_bit(&self, layer: i64) -> bool
[src]
Returns [code]true[/code] when the specified layer is enabled in [member layers] and [code]false[/code] otherwise.
pub fn get_transformed_aabb(&self) -> Aabb
[src]
Returns the transformed [AABB] (also known as the bounding box) for this [VisualInstance].
Transformed in this case means the [AABB] plus the position, rotation, and scale of the [Spatial]'s [Transform]. See also [method get_aabb].
pub fn set_base(&self, base: Rid)
[src]
Sets the resource that is instantiated by this [VisualInstance], which changes how the engine handles the [VisualInstance] under the hood. Equivalent to [method VisualServer.instance_set_base].
pub fn set_layer_mask(&self, mask: i64)
[src]
The render layer(s) this [VisualInstance] is drawn on.
This object will only be visible for [Camera]s whose cull mask includes the render object this [VisualInstance] is set to.
pub fn set_layer_mask_bit(&self, layer: i64, enabled: bool)
[src]
Enables a particular layer in [member layers].
Trait Implementations
impl Debug for ReflectionProbe
[src]
impl Deref for ReflectionProbe
[src]
type Target = VisualInstance
The resulting type after dereferencing.
fn deref(&self) -> &VisualInstance
[src]
impl DerefMut for ReflectionProbe
[src]
fn deref_mut(&mut self) -> &mut VisualInstance
[src]
impl GodotObject for ReflectionProbe
[src]
type RefKind = ManuallyManaged
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 ReflectionProbe
[src]
impl QueueFree for ReflectionProbe
[src]
unsafe fn godot_queue_free(obj: *mut godot_object)
[src]
impl Sealed for ReflectionProbe
[src]
impl SubClass<Node> for ReflectionProbe
[src]
impl SubClass<Object> for ReflectionProbe
[src]
impl SubClass<Spatial> for ReflectionProbe
[src]
impl SubClass<VisualInstance> for ReflectionProbe
[src]
Auto Trait Implementations
impl RefUnwindSafe for ReflectionProbe
impl !Send for ReflectionProbe
impl !Sync for ReflectionProbe
impl Unpin for ReflectionProbe
impl UnwindSafe for ReflectionProbe
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>,