Struct gdnative_bindings_lily::GIProbe [−][src]
pub struct GIProbe { /* fields omitted */ }
Expand description
core class GIProbe
inherits VisualInstance
(unsafe).
Official documentation
See the documentation of this class in the Godot engine’s official documentation. The method descriptions are generated from it and typically contain code samples in GDScript, not Rust.
Memory management
Non reference counted objects such as the ones of this type are usually owned by the engine.
GIProbe
is a reference-only type. Persistent references can
only exist in the unsafe Ref<GIProbe>
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
GIProbe 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
Constants
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
.
Bakes the effect from all GeometryInstances marked with [member GeometryInstance.use_in_baked_light] and Lights marked with either [constant Light.BAKE_INDIRECT] or [constant Light.BAKE_ALL]. If create_visual_debug
is true
, after baking the light, this will generate a MultiMesh that has a cube representing each solid cell with each cube colored to the cell’s albedo color. This can be used to visualize the GIProbe’s data and debug any issues that may be occurring.
Default Arguments
from_node
-null
create_visual_debug
-false
Calls [method bake] with create_visual_debug
enabled.
Offsets the lookup of the light contribution from the GIProbe. This can be used to avoid self-shadowing, but may introduce light leaking at higher values. This and [member normal_bias] should be played around with to minimize self-shadowing and light leaking.
Note: bias
should usually be above 1.0 as that is the size of the voxels.
The maximum brightness that the GIProbe will recognize. Brightness will be scaled within this range.
Energy multiplier. Makes the lighting contribution from the GIProbe brighter.
The size of the area covered by the GIProbe. If you make the extents larger without increasing the subdivisions with [member subdiv], the size of each cell will increase and result in lower detailed lighting.
Offsets the lookup into the GIProbe based on the object’s normal direction. Can be used to reduce some self-shadowing artifacts.
The GIProbeData resource that holds the data for this GIProbe.
How much light propagates through the probe internally. A higher value allows light to spread further.
Number of times to subdivide the grid that the GIProbe operates on. A higher number results in finer detail and thus higher visual quality, while lower numbers result in better performance.
If true
, the data for this GIProbe will be compressed. Compression saves space, but results in far worse visual quality.
If true
, ignores the sky contribution when calculating lighting.
Offsets the lookup of the light contribution from the GIProbe. This can be used to avoid self-shadowing, but may introduce light leaking at higher values. This and [member normal_bias] should be played around with to minimize self-shadowing and light leaking.
Note: bias
should usually be above 1.0 as that is the size of the voxels.
If true
, the data for this GIProbe will be compressed. Compression saves space, but results in far worse visual quality.
The maximum brightness that the GIProbe will recognize. Brightness will be scaled within this range.
Energy multiplier. Makes the lighting contribution from the GIProbe brighter.
The size of the area covered by the GIProbe. If you make the extents larger without increasing the subdivisions with [member subdiv], the size of each cell will increase and result in lower detailed lighting.
If true
, ignores the sky contribution when calculating lighting.
Offsets the lookup into the GIProbe based on the object’s normal direction. Can be used to reduce some self-shadowing artifacts.
The GIProbeData resource that holds the data for this GIProbe.
How much light propagates through the probe internally. A higher value allows light to spread further.
Number of times to subdivide the grid that the GIProbe operates on. A higher number results in finer detail and thus higher visual quality, while lower numbers result in better performance.
Methods from Deref<Target = VisualInstance>
Returns the [AABB] (also known as the bounding box) for this VisualInstance. See also [method get_transformed_aabb].
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.
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.
The render layer(s) this VisualInstance is drawn on. This object will only be visible for Cameras whose cull mask includes the render object this VisualInstance is set to.
Returns true
when the specified layer is enabled in [member layers] and false
otherwise.
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].
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].
The render layer(s) this VisualInstance is drawn on. This object will only be visible for Cameras whose cull mask includes the render object this VisualInstance is set to.
Enables a particular layer in [member layers].
Trait Implementations
type Target = VisualInstance
type Target = VisualInstance
The resulting type after dereferencing.
Dereferences the value.
Mutably dereferences the value.
type RefKind = ManuallyManaged
type RefKind = ManuallyManaged
Creates an explicitly null reference of Self
as a method argument. This makes type
inference easier for the compiler compared to Option
. Read more
Creates a new instance of Self
using a zero-argument constructor, as a Unique
reference. Read more
Performs a dynamic reference downcast to target type. Read more
Performs a static reference upcast to a supertype that is guaranteed to be valid. Read more
Creates a persistent reference to the same Godot object with shared thread access. Read more
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
Creates a persistent reference to the same Godot object with thread-local thread access. Read more
Creates a persistent reference to the same Godot object with unique access. Read more
Recovers a instance ID previously returned by Object::get_instance_id
if the object is
still alive. See also TRef::try_from_instance_id
. Read more
Auto Trait Implementations
impl RefUnwindSafe for GIProbe
impl UnwindSafe for GIProbe