diff --git a/classes/class_@globalscope.rst b/classes/class_@globalscope.rst index 4209e8410..8426cd3bf 100644 --- a/classes/class_@globalscope.rst +++ b/classes/class_@globalscope.rst @@ -6853,6 +6853,8 @@ Maps a ``value`` from range ``[istart, istop]`` to ``[ostart, ostop]``. See also For complex use cases where multiple ranges are needed, consider using :ref:`Curve` or :ref:`Gradient` instead. +\ **Note:** If ``istart == istop``, the return value is undefined (most likely NaN, INF, or -INF). + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_compositor.rst b/classes/class_compositor.rst index e0c83b9a7..77cd55b4a 100644 --- a/classes/class_compositor.rst +++ b/classes/class_compositor.rst @@ -10,7 +10,7 @@ Compositor ========== -**Experimental:** More customisation of the rendering pipeline will be added in the future. +**Experimental:** More customization of the rendering pipeline will be added in the future. **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` diff --git a/classes/class_crypto.rst b/classes/class_crypto.rst index d176c3f01..2ce93963d 100644 --- a/classes/class_crypto.rst +++ b/classes/class_crypto.rst @@ -28,67 +28,68 @@ Currently, this includes asymmetric key encryption/decryption, signing/verificat .. code-tab:: gdscript - extends Node - var crypto = Crypto.new() - var key = CryptoKey.new() - var cert = X509Certificate.new() - func _ready(): - # Generate new RSA key. - key = crypto.generate_rsa(4096) - # Generate new self-signed certificate with the given key. - cert = crypto.generate_self_signed_certificate(key, "CN=mydomain.com,O=My Game Company,C=IT") - # Save key and certificate in the user folder. - key.save("user://generated.key") - cert.save("user://generated.crt") - # Encryption - var data = "Some data" - var encrypted = crypto.encrypt(key, data.to_utf8_buffer()) - # Decryption - var decrypted = crypto.decrypt(key, encrypted) - # Signing - var signature = crypto.sign(HashingContext.HASH_SHA256, data.sha256_buffer(), key) - # Verifying - var verified = crypto.verify(HashingContext.HASH_SHA256, data.sha256_buffer(), signature, key) - # Checks - assert(verified) - assert(data.to_utf8_buffer() == decrypted) + # Generate new RSA key. + var key = crypto.generate_rsa(4096) + + # Generate new self-signed certificate with the given key. + var cert = crypto.generate_self_signed_certificate(key, "CN=mydomain.com,O=My Game Company,C=IT") + + # Save key and certificate in the user folder. + key.save("user://generated.key") + cert.save("user://generated.crt") + + # Encryption + var data = "Some data" + var encrypted = crypto.encrypt(key, data.to_utf8_buffer()) + + # Decryption + var decrypted = crypto.decrypt(key, encrypted) + + # Signing + var signature = crypto.sign(HashingContext.HASH_SHA256, data.sha256_buffer(), key) + + # Verifying + var verified = crypto.verify(HashingContext.HASH_SHA256, data.sha256_buffer(), signature, key) + + # Checks + assert(verified) + assert(data.to_utf8_buffer() == decrypted) .. code-tab:: csharp using Godot; using System.Diagnostics; - public partial class MyNode : Node - { - private Crypto _crypto = new Crypto(); - private CryptoKey _key = new CryptoKey(); - private X509Certificate _cert = new X509Certificate(); + Crypto crypto = new Crypto(); - public override void _Ready() - { - // Generate new RSA key. - _key = _crypto.GenerateRsa(4096); - // Generate new self-signed certificate with the given key. - _cert = _crypto.GenerateSelfSignedCertificate(_key, "CN=mydomain.com,O=My Game Company,C=IT"); - // Save key and certificate in the user folder. - _key.Save("user://generated.key"); - _cert.Save("user://generated.crt"); - // Encryption - string data = "Some data"; - byte[] encrypted = _crypto.Encrypt(_key, data.ToUtf8Buffer()); - // Decryption - byte[] decrypted = _crypto.Decrypt(_key, encrypted); - // Signing - byte[] signature = _crypto.Sign(HashingContext.HashType.Sha256, Data.Sha256Buffer(), _key); - // Verifying - bool verified = _crypto.Verify(HashingContext.HashType.Sha256, Data.Sha256Buffer(), signature, _key); - // Checks - Debug.Assert(verified); - Debug.Assert(data.ToUtf8Buffer() == decrypted); - } - } + // Generate new RSA key. + CryptoKey key = crypto.GenerateRsa(4096); + + // Generate new self-signed certificate with the given key. + X509Certificate cert = crypto.GenerateSelfSignedCertificate(key, "CN=mydomain.com,O=My Game Company,C=IT"); + + // Save key and certificate in the user folder. + key.Save("user://generated.key"); + cert.Save("user://generated.crt"); + + // Encryption + string data = "Some data"; + byte[] encrypted = crypto.Encrypt(key, data.ToUtf8Buffer()); + + // Decryption + byte[] decrypted = crypto.Decrypt(key, encrypted); + + // Signing + byte[] signature = crypto.Sign(HashingContext.HashType.Sha256, Data.Sha256Buffer(), key); + + // Verifying + bool verified = crypto.Verify(HashingContext.HashType.Sha256, Data.Sha256Buffer(), signature, key); + + // Checks + Debug.Assert(verified); + Debug.Assert(data.ToUtf8Buffer() == decrypted); diff --git a/classes/class_cryptokey.rst b/classes/class_cryptokey.rst index 178df303b..8265b6242 100644 --- a/classes/class_cryptokey.rst +++ b/classes/class_cryptokey.rst @@ -12,7 +12,7 @@ CryptoKey **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -A cryptographic key (RSA). +A cryptographic key (RSA or elliptic-curve). .. rst-class:: classref-introduction-group diff --git a/classes/class_displayserver.rst b/classes/class_displayserver.rst index 54cd388d4..ab9ca0a92 100644 --- a/classes/class_displayserver.rst +++ b/classes/class_displayserver.rst @@ -3271,9 +3271,11 @@ To fallback to a default refresh rate if the method fails, try: Returns the scale factor of the specified screen by index. -\ **Note:** On macOS returned value is ``2.0`` for hiDPI (Retina) screen, and ``1.0`` for all other cases. +\ **Note:** On macOS, the returned value is ``2.0`` for hiDPI (Retina) screens, and ``1.0`` for all other cases. -\ **Note:** This method is implemented only on macOS. +\ **Note:** On Linux (Wayland), the returned value is accurate only when ``screen`` is :ref:`SCREEN_OF_MAIN_WINDOW`. Due to API limitations, passing a direct index will return a rounded-up integer, if the screen has a fractional scale (e.g. ``1.25`` would get rounded up to ``2.0``). + +\ **Note:** This method is implemented only on macOS and Linux (Wayland). .. rst-class:: classref-item-separator diff --git a/classes/class_editorfiledialog.rst b/classes/class_editorfiledialog.rst index 973d393e4..0cedd38b8 100644 --- a/classes/class_editorfiledialog.rst +++ b/classes/class_editorfiledialog.rst @@ -86,6 +86,8 @@ Methods +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`invalidate`\ (\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`popup_file_dialog`\ (\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_option_default`\ (\ option\: :ref:`int`, default_value_index\: :ref:`int`\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_option_name`\ (\ option\: :ref:`int`, name\: :ref:`String`\ ) | @@ -577,6 +579,18 @@ Notify the **EditorFileDialog** that its view of the data is no longer accurate. ---- +.. _class_EditorFileDialog_method_popup_file_dialog: + +.. rst-class:: classref-method + +|void| **popup_file_dialog**\ (\ ) + +Shows the **EditorFileDialog** at the default size and position for file dialogs in the editor, and selects the file name if there is a current file. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorFileDialog_method_set_option_default: .. rst-class:: classref-method diff --git a/classes/class_editorplugin.rst b/classes/class_editorplugin.rst index ec6618c51..16979d928 100644 --- a/classes/class_editorplugin.rst +++ b/classes/class_editorplugin.rst @@ -169,6 +169,8 @@ Methods +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_undo_redo_inspector_hook_callback`\ (\ callable\: :ref:`Callable`\ ) | +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_dock_tab_icon`\ (\ control\: :ref:`Control`, icon\: :ref:`Texture2D`\ ) | + +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_force_draw_over_forwarding_enabled`\ (\ ) | +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_input_event_forwarding_always_enabled`\ (\ ) | @@ -1631,6 +1633,18 @@ Removes a callback previously added by :ref:`add_undo_redo_inspector_hook_callba ---- +.. _class_EditorPlugin_method_set_dock_tab_icon: + +.. rst-class:: classref-method + +|void| **set_dock_tab_icon**\ (\ control\: :ref:`Control`, icon\: :ref:`Texture2D`\ ) + +Sets the tab icon for the given control in a dock slot. Setting to ``null`` removes the icon. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorPlugin_method_set_force_draw_over_forwarding_enabled: .. rst-class:: classref-method diff --git a/classes/class_editorsettings.rst b/classes/class_editorsettings.rst index a21d5ee2b..486ffc074 100644 --- a/classes/class_editorsettings.rst +++ b/classes/class_editorsettings.rst @@ -185,8 +185,6 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/joint` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/shape` | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`editors/animation/autorename_animation_tracks` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`editors/animation/default_create_bezier_tracks` | @@ -327,6 +325,8 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`interface/editor/display_scale` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`interface/editor/dock_tab_style` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`interface/editor/editor_language` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`interface/editor/editor_screen` | @@ -1579,18 +1579,6 @@ The 3D editor gizmo color for :ref:`Joint3D`\ s and :ref:`Physica ---- -.. _class_EditorSettings_property_editors/3d_gizmos/gizmo_colors/shape: - -.. rst-class:: classref-property - -:ref:`Color` **editors/3d_gizmos/gizmo_colors/shape** - -The 3D editor gizmo color for :ref:`CollisionShape3D`\ s, :ref:`VehicleWheel3D`\ s, :ref:`RayCast3D`\ s and :ref:`SpringArm3D`\ s. - -.. rst-class:: classref-item-separator - ----- - .. _class_EditorSettings_property_editors/animation/autorename_animation_tracks: .. rst-class:: classref-property @@ -2489,6 +2477,18 @@ If set to **Custom**, the scaling value in :ref:`interface/editor/custom_display ---- +.. _class_EditorSettings_property_interface/editor/dock_tab_style: + +.. rst-class:: classref-property + +:ref:`int` **interface/editor/dock_tab_style** + +Tab style of editor docks. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_interface/editor/editor_language: .. rst-class:: classref-property diff --git a/classes/class_enetconnection.rst b/classes/class_enetconnection.rst index ae3a2b0be..1e39c3fc6 100644 --- a/classes/class_enetconnection.rst +++ b/classes/class_enetconnection.rst @@ -452,7 +452,7 @@ Call this function regularly to handle connections, disconnections, and to recei |void| **socket_send**\ (\ destination_address\: :ref:`String`, destination_port\: :ref:`int`, packet\: :ref:`PackedByteArray`\ ) -Sends a ``packet`` toward a destination from the address and port currently bound by this ENetConnection instance. +Sends a ``packet`` toward a destination from the address and port currently bound by this ENetConnection instance. This is useful as it serves to establish entries in NAT routing tables on all devices between this bound instance and the public facing internet, allowing a prospective client's connection packets to be routed backward through the NAT device(s) between the public internet and this host. diff --git a/classes/class_flowcontainer.rst b/classes/class_flowcontainer.rst index c042f7953..59e7dae49 100644 --- a/classes/class_flowcontainer.rst +++ b/classes/class_flowcontainer.rst @@ -38,13 +38,15 @@ Properties .. table:: :widths: auto - +--------------------------------------------------------+----------------------------------------------------------------+-----------+ - | :ref:`AlignmentMode` | :ref:`alignment` | ``0`` | - +--------------------------------------------------------+----------------------------------------------------------------+-----------+ - | :ref:`bool` | :ref:`reverse_fill` | ``false`` | - +--------------------------------------------------------+----------------------------------------------------------------+-----------+ - | :ref:`bool` | :ref:`vertical` | ``false`` | - +--------------------------------------------------------+----------------------------------------------------------------+-----------+ + +------------------------------------------------------------------------+------------------------------------------------------------------------------+-----------+ + | :ref:`AlignmentMode` | :ref:`alignment` | ``0`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------+-----------+ + | :ref:`LastWrapAlignmentMode` | :ref:`last_wrap_alignment` | ``0`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`reverse_fill` | ``false`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`vertical` | ``false`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -111,6 +113,48 @@ The child controls will be centered in the container. The child controls will be arranged at the end of the container, i.e. bottom if orientation is vertical, right if orientation is horizontal (left for RTL layout). +.. rst-class:: classref-item-separator + +---- + +.. _enum_FlowContainer_LastWrapAlignmentMode: + +.. rst-class:: classref-enumeration + +enum **LastWrapAlignmentMode**: + +.. _class_FlowContainer_constant_LAST_WRAP_ALIGNMENT_INHERIT: + +.. rst-class:: classref-enumeration-constant + +:ref:`LastWrapAlignmentMode` **LAST_WRAP_ALIGNMENT_INHERIT** = ``0`` + +The last partially filled row or column will wrap aligned to the previous row or column in accordance with :ref:`alignment`. + +.. _class_FlowContainer_constant_LAST_WRAP_ALIGNMENT_BEGIN: + +.. rst-class:: classref-enumeration-constant + +:ref:`LastWrapAlignmentMode` **LAST_WRAP_ALIGNMENT_BEGIN** = ``1`` + +The last partially filled row or column will wrap aligned to the beginning of the previous row or column. + +.. _class_FlowContainer_constant_LAST_WRAP_ALIGNMENT_CENTER: + +.. rst-class:: classref-enumeration-constant + +:ref:`LastWrapAlignmentMode` **LAST_WRAP_ALIGNMENT_CENTER** = ``2`` + +The last partially filled row or column will wrap aligned to the center of the previous row or column. + +.. _class_FlowContainer_constant_LAST_WRAP_ALIGNMENT_END: + +.. rst-class:: classref-enumeration-constant + +:ref:`LastWrapAlignmentMode` **LAST_WRAP_ALIGNMENT_END** = ``3`` + +The last partially filled row or column will wrap aligned to the end of the previous row or column. + .. rst-class:: classref-section-separator ---- @@ -137,6 +181,23 @@ The alignment of the container's children (must be one of :ref:`ALIGNMENT_BEGIN< ---- +.. _class_FlowContainer_property_last_wrap_alignment: + +.. rst-class:: classref-property + +:ref:`LastWrapAlignmentMode` **last_wrap_alignment** = ``0`` + +.. rst-class:: classref-property-setget + +- |void| **set_last_wrap_alignment**\ (\ value\: :ref:`LastWrapAlignmentMode`\ ) +- :ref:`LastWrapAlignmentMode` **get_last_wrap_alignment**\ (\ ) + +The wrap behavior of the last, partially filled row or column (must be one of :ref:`LAST_WRAP_ALIGNMENT_INHERIT`, :ref:`LAST_WRAP_ALIGNMENT_BEGIN`, :ref:`LAST_WRAP_ALIGNMENT_CENTER`, or :ref:`LAST_WRAP_ALIGNMENT_END`). + +.. rst-class:: classref-item-separator + +---- + .. _class_FlowContainer_property_reverse_fill: .. rst-class:: classref-property diff --git a/classes/class_gdextensionmanager.rst b/classes/class_gdextensionmanager.rst index 904fd10a0..4f42fbcef 100644 --- a/classes/class_gdextensionmanager.rst +++ b/classes/class_gdextensionmanager.rst @@ -189,7 +189,7 @@ Loads an extension by absolute file path. The ``path`` needs to point to a valid :ref:`LoadStatus` **reload_extension**\ (\ path\: :ref:`String`\ ) -Reloads the extension at the given file path. The ``path`` needs to point to a valid :ref:`GDExtension`, otherwise this method may return either :ref:`LOAD_STATUS_NOT_LOADED` or :ref:`LOAD_STATUS_FAILED`. +Reloads the extension at the given file path. The ``path`` needs to point to a valid :ref:`GDExtension`, otherwise this method may return either :ref:`LOAD_STATUS_NOT_LOADED` or :ref:`LOAD_STATUS_FAILED`. \ **Note:** You can only reload extensions in the editor. In release builds, this method always fails and returns :ref:`LOAD_STATUS_FAILED`. diff --git a/classes/class_geometryinstance3d.rst b/classes/class_geometryinstance3d.rst index b0e32a731..41d9e645f 100644 --- a/classes/class_geometryinstance3d.rst +++ b/classes/class_geometryinstance3d.rst @@ -247,6 +247,8 @@ Will not fade itself nor its visibility dependencies, hysteresis will be used in Will fade-out itself when reaching the limits of its own visibility range. This is slower than :ref:`VISIBILITY_RANGE_FADE_DISABLED`, but it can provide smoother transitions. The fading range is determined by :ref:`visibility_range_begin_margin` and :ref:`visibility_range_end_margin`. +\ **Note:** Only supported when using the Forward+ rendering method. When using the Mobile or Compatibility rendering method, this mode acts like :ref:`VISIBILITY_RANGE_FADE_DISABLED` but with hysteresis disabled. + .. _class_GeometryInstance3D_constant_VISIBILITY_RANGE_FADE_DEPENDENCIES: .. rst-class:: classref-enumeration-constant @@ -255,6 +257,8 @@ Will fade-out itself when reaching the limits of its own visibility range. This Will fade-in its visibility dependencies (see :ref:`Node3D.visibility_parent`) when reaching the limits of its own visibility range. This is slower than :ref:`VISIBILITY_RANGE_FADE_DISABLED`, but it can provide smoother transitions. The fading range is determined by :ref:`visibility_range_begin_margin` and :ref:`visibility_range_end_margin`. +\ **Note:** Only supported when using the Forward+ rendering method. When using the Mobile or Compatibility rendering method, this mode acts like :ref:`VISIBILITY_RANGE_FADE_DISABLED` but with hysteresis disabled. + .. rst-class:: classref-section-separator ---- @@ -444,6 +448,8 @@ In spatial shaders, ``1.0 - transparency`` is set as the default value of the `` \ **Note:** :ref:`transparency` is clamped between ``0.0`` and ``1.0``, so this property cannot be used to make transparent materials more opaque than they originally are. +\ **Note:** Only supported when using the Forward+ rendering method. When using the Mobile or Compatibility rendering method, :ref:`transparency` is ignored and is considered as always being ``0.0``. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_gpuparticles2d.rst b/classes/class_gpuparticles2d.rst index 3a81d2b75..dff2c7568 100644 --- a/classes/class_gpuparticles2d.rst +++ b/classes/class_gpuparticles2d.rst @@ -710,7 +710,7 @@ The default ParticleProcessMaterial will overwrite ``color`` and use the content |void| **restart**\ (\ ) -Restarts the particle emission cycle, clearing existing particles. To avoid particles vanishing from the viewport, wait for the :ref:`finished` signal before calling. +Restarts the particle emission cycle, clearing existing particles. To avoid particles vanishing from the viewport, wait for the :ref:`finished` signal before calling. \ **Note:** The :ref:`finished` signal is only emitted by :ref:`one_shot` emitters. diff --git a/classes/class_mobilevrinterface.rst b/classes/class_mobilevrinterface.rst index 571ec5a4e..e5fcbec79 100644 --- a/classes/class_mobilevrinterface.rst +++ b/classes/class_mobilevrinterface.rst @@ -56,6 +56,10 @@ Properties +----------------------------------------------------+--------------------------------------------------------------------------+------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`oversample` | ``1.5`` | +----------------------------------------------------+--------------------------------------------------------------------------+------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`vrs_min_radius` | ``20.0`` | + +----------------------------------------------------+--------------------------------------------------------------------------+------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`vrs_strength` | ``1.0`` | + +----------------------------------------------------+--------------------------------------------------------------------------+------------------------------------------------------------------------------------+ | :ref:`PlayAreaMode` | xr_play_area_mode | ``1`` (overrides :ref:`XRInterface`) | +----------------------------------------------------+--------------------------------------------------------------------------+------------------------------------------------------------------------------------+ @@ -200,6 +204,44 @@ Set the offset rect relative to the area being rendered. A length of 1 represent The oversample setting. Because of the lens distortion we have to render our buffers at a higher resolution then the screen can natively handle. A value between 1.5 and 2.0 often provides good results but at the cost of performance. +.. rst-class:: classref-item-separator + +---- + +.. _class_MobileVRInterface_property_vrs_min_radius: + +.. rst-class:: classref-property + +:ref:`float` **vrs_min_radius** = ``20.0`` + +.. rst-class:: classref-property-setget + +- |void| **set_vrs_min_radius**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_vrs_min_radius**\ (\ ) + +The minimum radius around the focal point where full quality is guaranteed if VRS is used as a percentage of screen size. + +\ **Note:** Mobile and Forward+ renderers only. Requires :ref:`Viewport.vrs_mode` to be set to :ref:`Viewport.VRS_XR`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_MobileVRInterface_property_vrs_strength: + +.. rst-class:: classref-property + +:ref:`float` **vrs_strength** = ``1.0`` + +.. rst-class:: classref-property-setget + +- |void| **set_vrs_strength**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_vrs_strength**\ (\ ) + +The strength used to calculate the VRS density map. The greater this value, the more noticeable VRS is. This improves performance at the cost of quality. + +\ **Note:** Mobile and Forward+ renderers only. Requires :ref:`Viewport.vrs_mode` to be set to :ref:`Viewport.VRS_XR`. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` diff --git a/classes/class_node.rst b/classes/class_node.rst index 5c91b350c..e7e5b9338 100644 --- a/classes/class_node.rst +++ b/classes/class_node.rst @@ -1208,7 +1208,7 @@ The name of the node. This name must be unique among the siblings (other child n - |void| **set_owner**\ (\ value\: :ref:`Node`\ ) - :ref:`Node` **get_owner**\ (\ ) -The owner of this node. The owner must be an ancestor of this node. When packing the owner node in a :ref:`PackedScene`, all the nodes it owns are also saved with it. +The owner of this node. The owner must be an ancestor of this node. When packing the owner node in a :ref:`PackedScene`, all the nodes it owns are also saved with it. \ **Note:** In the editor, nodes not owned by the scene root are usually not displayed in the Scene dock, and will **not** be saved. To prevent this, remember to set the owner after calling :ref:`add_child`. See also (see :ref:`unique_name_in_owner`) diff --git a/classes/class_nodepath.rst b/classes/class_nodepath.rst index 2355f4877..5835a8f06 100644 --- a/classes/class_nodepath.rst +++ b/classes/class_nodepath.rst @@ -53,7 +53,7 @@ Node paths cannot check whether they are valid and may point to nodes or propert You usually do not have to worry about the **NodePath** type, as strings are automatically converted to the type when necessary. There are still times when defining node paths is useful. For example, exported **NodePath** properties allow you to easily select any node within the currently edited scene. They are also automatically updated when moving, renaming or deleting nodes in the scene tree editor. See also :ref:`@GDScript.@export_node_path`. -See also :ref:`StringName`, which is a similar type designed for optimised strings. +See also :ref:`StringName`, which is a similar type designed for optimized strings. \ **Note:** In a boolean context, a **NodePath** will evaluate to ``false`` if it is empty (``NodePath("")``). Otherwise, a **NodePath** will always evaluate to ``true``. diff --git a/classes/class_object.rst b/classes/class_object.rst index 6aa9c7611..bcafbc276 100644 --- a/classes/class_object.rst +++ b/classes/class_object.rst @@ -10,7 +10,7 @@ Object ====== -**Inherited By:** :ref:`AudioServer`, :ref:`CameraServer`, :ref:`ClassDB`, :ref:`DisplayServer`, :ref:`EditorFileSystemDirectory`, :ref:`EditorInterface`, :ref:`EditorPaths`, :ref:`EditorSelection`, :ref:`EditorUndoRedoManager`, :ref:`EditorVCSInterface`, :ref:`Engine`, :ref:`EngineDebugger`, :ref:`FramebufferCacheRD`, :ref:`GDExtensionManager`, :ref:`Geometry2D`, :ref:`Geometry3D`, :ref:`GodotSharp`, :ref:`Input`, :ref:`InputMap`, :ref:`IP`, :ref:`JavaClassWrapper`, :ref:`JavaScriptBridge`, :ref:`JNISingleton`, :ref:`JSONRPC`, :ref:`MainLoop`, :ref:`Marshalls`, :ref:`MovieWriter`, :ref:`NativeMenu`, :ref:`NavigationMeshGenerator`, :ref:`NavigationServer2D`, :ref:`NavigationServer3D`, :ref:`Node`, :ref:`OpenXRExtensionWrapperExtension`, :ref:`OpenXRInteractionProfileMetadata`, :ref:`OS`, :ref:`Performance`, :ref:`PhysicsDirectBodyState2D`, :ref:`PhysicsDirectBodyState3D`, :ref:`PhysicsDirectSpaceState2D`, :ref:`PhysicsDirectSpaceState3D`, :ref:`PhysicsServer2D`, :ref:`PhysicsServer2DManager`, :ref:`PhysicsServer3D`, :ref:`PhysicsServer3DManager`, :ref:`PhysicsServer3DRenderingServerHandler`, :ref:`ProjectSettings`, :ref:`RefCounted`, :ref:`RenderData`, :ref:`RenderingDevice`, :ref:`RenderingServer`, :ref:`RenderSceneData`, :ref:`ResourceLoader`, :ref:`ResourceSaver`, :ref:`ResourceUID`, :ref:`ScriptLanguage`, :ref:`TextServerManager`, :ref:`ThemeDB`, :ref:`TileData`, :ref:`Time`, :ref:`TranslationServer`, :ref:`TreeItem`, :ref:`UndoRedo`, :ref:`UniformSetCacheRD`, :ref:`WorkerThreadPool`, :ref:`XRServer` +**Inherited By:** :ref:`AudioServer`, :ref:`CameraServer`, :ref:`ClassDB`, :ref:`DisplayServer`, :ref:`EditorFileSystemDirectory`, :ref:`EditorInterface`, :ref:`EditorPaths`, :ref:`EditorSelection`, :ref:`EditorUndoRedoManager`, :ref:`EditorVCSInterface`, :ref:`Engine`, :ref:`EngineDebugger`, :ref:`FramebufferCacheRD`, :ref:`GDExtensionManager`, :ref:`Geometry2D`, :ref:`Geometry3D`, :ref:`GodotSharp`, :ref:`Input`, :ref:`InputMap`, :ref:`IP`, :ref:`JavaClassWrapper`, :ref:`JavaScriptBridge`, :ref:`JNISingleton`, :ref:`JSONRPC`, :ref:`MainLoop`, :ref:`Marshalls`, :ref:`MovieWriter`, :ref:`NativeMenu`, :ref:`NavigationMeshGenerator`, :ref:`NavigationServer2D`, :ref:`NavigationServer3D`, :ref:`Node`, :ref:`OpenXRExtensionWrapperExtension`, :ref:`OpenXRInteractionProfileMetadata`, :ref:`OS`, :ref:`Performance`, :ref:`PhysicsDirectBodyState2D`, :ref:`PhysicsDirectBodyState3D`, :ref:`PhysicsDirectSpaceState2D`, :ref:`PhysicsDirectSpaceState3D`, :ref:`PhysicsServer2D`, :ref:`PhysicsServer2DManager`, :ref:`PhysicsServer3D`, :ref:`PhysicsServer3DManager`, :ref:`PhysicsServer3DRenderingServerHandler`, :ref:`ProjectSettings`, :ref:`RefCounted`, :ref:`RenderData`, :ref:`RenderingDevice`, :ref:`RenderingServer`, :ref:`RenderSceneData`, :ref:`ResourceLoader`, :ref:`ResourceSaver`, :ref:`ResourceUID`, :ref:`ScriptLanguage`, :ref:`TextServerManager`, :ref:`ThemeDB`, :ref:`TileData`, :ref:`Time`, :ref:`TranslationServer`, :ref:`TreeItem`, :ref:`UndoRedo`, :ref:`UniformSetCacheRD`, :ref:`WorkerThreadPool`, :ref:`XRServer`, :ref:`XRVRS` Base class for all other classes in the engine. @@ -1765,6 +1765,8 @@ If :ref:`can_translate_messages` is For detailed examples, see :doc:`Internationalizing games <../tutorials/i18n/internationalizing_games>`. +\ **Note:** This method can't be used without an **Object** instance, as it requires the :ref:`can_translate_messages` method. To translate strings in a static context, use :ref:`TranslationServer.translate`. + .. rst-class:: classref-item-separator ---- @@ -1785,6 +1787,8 @@ For detailed examples, see :doc:`Localization using gettext <../tutorials/i18n/l \ **Note:** Negative and :ref:`float` numbers may not properly apply to some countable subjects. It's recommended to handle these cases with :ref:`tr`. +\ **Note:** This method can't be used without an **Object** instance, as it requires the :ref:`can_translate_messages` method. To translate strings in a static context, use :ref:`TranslationServer.translate_plural`. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` diff --git a/classes/class_openxrcompositionlayer.rst b/classes/class_openxrcompositionlayer.rst index 29b0bfe05..84a357578 100644 --- a/classes/class_openxrcompositionlayer.rst +++ b/classes/class_openxrcompositionlayer.rst @@ -35,13 +35,15 @@ Properties .. table:: :widths: auto - +---------------------------------------+-----------------------------------------------------------------------------+-----------+ - | :ref:`bool` | :ref:`alpha_blend` | ``false`` | - +---------------------------------------+-----------------------------------------------------------------------------+-----------+ - | :ref:`SubViewport` | :ref:`layer_viewport` | | - +---------------------------------------+-----------------------------------------------------------------------------+-----------+ - | :ref:`int` | :ref:`sort_order` | ``1`` | - +---------------------------------------+-----------------------------------------------------------------------------+-----------+ + +---------------------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`alpha_blend` | ``false`` | + +---------------------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`enable_hole_punch` | ``false`` | + +---------------------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`SubViewport` | :ref:`layer_viewport` | | + +---------------------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`int` | :ref:`sort_order` | ``1`` | + +---------------------------------------+-----------------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -85,6 +87,25 @@ Can be combined with :ref:`Viewport.transparent_bg` **enable_hole_punch** = ``false`` + +.. rst-class:: classref-property-setget + +- |void| **set_enable_hole_punch**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **get_enable_hole_punch**\ (\ ) + +Enables a technique called "hole punching", which allows putting the composition layer behind the main projection layer (i.e. setting :ref:`sort_order` to a negative value) while "punching a hole" through everything rendered by Godot so that the layer is still visible. + +This can be used to create the illusion that the composition layer exists in the same 3D space as everything rendered by Godot, allowing objects to appear to pass both behind or in front of the composition layer. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRCompositionLayer_property_layer_viewport: .. rst-class:: classref-property diff --git a/classes/class_openxrinterface.rst b/classes/class_openxrinterface.rst index 24f48370c..42fa94e62 100644 --- a/classes/class_openxrinterface.rst +++ b/classes/class_openxrinterface.rst @@ -47,6 +47,10 @@ Properties +---------------------------+----------------------------------------------------------------------------------------------------+-----------+ | :ref:`float` | :ref:`render_target_size_multiplier` | ``1.0`` | +---------------------------+----------------------------------------------------------------------------------------------------+-----------+ + | :ref:`float` | :ref:`vrs_min_radius` | ``20.0`` | + +---------------------------+----------------------------------------------------------------------------------------------------+-----------+ + | :ref:`float` | :ref:`vrs_strength` | ``1.0`` | + +---------------------------+----------------------------------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -679,6 +683,44 @@ Set foveation level from 0 (off) to 3 (high), the interface must be initialized The render size multiplier for the current HMD. Must be set before the interface has been initialized. +.. rst-class:: classref-item-separator + +---- + +.. _class_OpenXRInterface_property_vrs_min_radius: + +.. rst-class:: classref-property + +:ref:`float` **vrs_min_radius** = ``20.0`` + +.. rst-class:: classref-property-setget + +- |void| **set_vrs_min_radius**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_vrs_min_radius**\ (\ ) + +The minimum radius around the focal point where full quality is guaranteed if VRS is used as a percentage of screen size. + +\ **Note:** Mobile and Forward+ renderers only. Requires :ref:`Viewport.vrs_mode` to be set to :ref:`Viewport.VRS_XR`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_OpenXRInterface_property_vrs_strength: + +.. rst-class:: classref-property + +:ref:`float` **vrs_strength** = ``1.0`` + +.. rst-class:: classref-property-setget + +- |void| **set_vrs_strength**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_vrs_strength**\ (\ ) + +The strength used to calculate the VRS density map. The greater this value, the more noticeable VRS is. This improves performance at the cost of quality. + +\ **Note:** Mobile and Forward+ renderers only. Requires :ref:`Viewport.vrs_mode` to be set to :ref:`Viewport.VRS_XR`. + .. rst-class:: classref-section-separator ---- diff --git a/classes/class_physicsserver2d.rst b/classes/class_physicsserver2d.rst index e5351bd92..1043482c2 100644 --- a/classes/class_physicsserver2d.rst +++ b/classes/class_physicsserver2d.rst @@ -1155,7 +1155,9 @@ Removes all shapes from the area. This does not delete the shapes themselves, so :ref:`RID` **area_create**\ (\ ) -Creates a 2D area object in the physics server, and returns the :ref:`RID` that identifies it. Use :ref:`area_add_shape` to add shapes to it, use :ref:`area_set_transform` to set its transform, and use :ref:`area_set_space` to add the area to a space. +Creates a 2D area object in the physics server, and returns the :ref:`RID` that identifies it. The default settings for the created area include a collision layer and mask set to ``1``, and ``monitorable`` set to ``false``. + +Use :ref:`area_add_shape` to add shapes to it, use :ref:`area_set_transform` to set its transform, and use :ref:`area_set_space` to add the area to a space. If you want the area to be detectable use :ref:`area_set_monitorable`. .. rst-class:: classref-item-separator @@ -1643,7 +1645,9 @@ Removes all shapes from the body. This does not delete the shapes themselves, so :ref:`RID` **body_create**\ (\ ) -Creates a 2D body object in the physics server, and returns the :ref:`RID` that identifies it. Use :ref:`body_add_shape` to add shapes to it, use :ref:`body_set_state` to set its transform, and use :ref:`body_set_space` to add the body to a space. +Creates a 2D body object in the physics server, and returns the :ref:`RID` that identifies it. The default settings for the created area include a collision layer and mask set to ``1``, and body mode set to :ref:`BODY_MODE_RIGID`. + +Use :ref:`body_add_shape` to add shapes to it, use :ref:`body_set_state` to set its transform, and use :ref:`body_set_space` to add the body to a space. .. rst-class:: classref-item-separator diff --git a/classes/class_physicsserver3d.rst b/classes/class_physicsserver3d.rst index fba5e41bd..cafb2a270 100644 --- a/classes/class_physicsserver3d.rst +++ b/classes/class_physicsserver3d.rst @@ -1885,7 +1885,9 @@ Removes all shapes from an area. It does not delete the shapes, so they can be r :ref:`RID` **area_create**\ (\ ) -Creates an :ref:`Area3D`. +Creates a 3D area object in the physics server, and returns the :ref:`RID` that identifies it. The default settings for the created area include a collision layer and mask set to ``1``, and ``monitorable`` set to ``false``. + +Use :ref:`area_add_shape` to add shapes to it, use :ref:`area_set_transform` to set its transform, and use :ref:`area_set_space` to add the area to a space. If you want the area to be detectable use :ref:`area_set_monitorable`. .. rst-class:: classref-item-separator @@ -2363,9 +2365,9 @@ Removes all shapes from a body. :ref:`RID` **body_create**\ (\ ) -.. container:: contribute +Creates a 3D body object in the physics server, and returns the :ref:`RID` that identifies it. The default settings for the created area include a collision layer and mask set to ``1``, and body mode set to :ref:`BODY_MODE_RIGID`. - There is currently no description for this method. Please help us by :ref:`contributing one `! +Use :ref:`body_add_shape` to add shapes to it, use :ref:`body_set_state` to set its transform, and use :ref:`body_set_space` to add the body to a space. .. rst-class:: classref-item-separator diff --git a/classes/class_renderingserver.rst b/classes/class_renderingserver.rst index c00da234f..480c4748a 100644 --- a/classes/class_renderingserver.rst +++ b/classes/class_renderingserver.rst @@ -1007,6 +1007,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`viewport_set_vrs_texture`\ (\ viewport\: :ref:`RID`, texture\: :ref:`RID`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`viewport_set_vrs_update_mode`\ (\ viewport\: :ref:`RID`, mode\: :ref:`ViewportVRSUpdateMode`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`visibility_notifier_create`\ (\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`visibility_notifier_set_aabb`\ (\ notifier\: :ref:`RID`, aabb\: :ref:`AABB`\ ) | @@ -3626,7 +3628,7 @@ Variable rate shading uses a texture. Note, for stereoscopic use a texture atlas :ref:`ViewportVRSMode` **VIEWPORT_VRS_XR** = ``2`` -Variable rate shading texture is supplied by the primary :ref:`XRInterface`. +Variable rate shading texture is supplied by the primary :ref:`XRInterface`. Note that this may override the update mode. .. _class_RenderingServer_constant_VIEWPORT_VRS_MAX: @@ -3640,6 +3642,48 @@ Represents the size of the :ref:`ViewportVRSMode` **VIEWPORT_VRS_UPDATE_DISABLED** = ``0`` + +The input texture for variable rate shading will not be processed. + +.. _class_RenderingServer_constant_VIEWPORT_VRS_UPDATE_ONCE: + +.. rst-class:: classref-enumeration-constant + +:ref:`ViewportVRSUpdateMode` **VIEWPORT_VRS_UPDATE_ONCE** = ``1`` + +The input texture for variable rate shading will be processed once. + +.. _class_RenderingServer_constant_VIEWPORT_VRS_UPDATE_ALWAYS: + +.. rst-class:: classref-enumeration-constant + +:ref:`ViewportVRSUpdateMode` **VIEWPORT_VRS_UPDATE_ALWAYS** = ``2`` + +The input texture for variable rate shading will be processed each frame. + +.. _class_RenderingServer_constant_VIEWPORT_VRS_UPDATE_MAX: + +.. rst-class:: classref-enumeration-constant + +:ref:`ViewportVRSUpdateMode` **VIEWPORT_VRS_UPDATE_MAX** = ``3`` + +Represents the size of the :ref:`ViewportVRSUpdateMode` enum. + +.. rst-class:: classref-item-separator + +---- + .. _enum_RenderingServer_SkyMode: .. rst-class:: classref-enumeration @@ -6554,7 +6598,7 @@ Sets the :ref:`CanvasItem`'s Z index, i.e. its draw order (low Transforms both the current and previous stored transform for a canvas item. -This allows transforming a canvas item without creating a "glitch" in the interpolation, which is particularly useful for large worlds utilising a shifting origin. +This allows transforming a canvas item without creating a "glitch" in the interpolation, which is particularly useful for large worlds utilizing a shifting origin. .. rst-class:: classref-item-separator @@ -6712,7 +6756,7 @@ Sets a light occluder's :ref:`Transform2D`. Transforms both the current and previous stored transform for a light occluder. -This allows transforming an occluder without creating a "glitch" in the interpolation, which is particularly useful for large worlds utilising a shifting origin. +This allows transforming an occluder without creating a "glitch" in the interpolation, which is particularly useful for large worlds utilizing a shifting origin. .. rst-class:: classref-item-separator @@ -6968,7 +7012,7 @@ Sets the Z range of objects that will be affected by this light. Equivalent to : Transforms both the current and previous stored transform for a canvas light. -This allows transforming a light without creating a "glitch" in the interpolation, which is is particularly useful for large worlds utilising a shifting origin. +This allows transforming a light without creating a "glitch" in the interpolation, which is is particularly useful for large worlds utilizing a shifting origin. .. rst-class:: classref-item-separator @@ -11804,6 +11848,20 @@ The texture to use when the VRS mode is set to :ref:`VIEWPORT_VRS_TEXTURE`, mode\: :ref:`ViewportVRSUpdateMode`\ ) + +Sets the update mode for Variable Rate Shading (VRS) for the viewport. VRS requires the input texture to be converted to the format usable by the VRS method supported by the hardware. The update mode defines how often this happens. If the GPU does not support VRS, or VRS is not enabled, this property is ignored. + +If set to :ref:`VIEWPORT_VRS_UPDATE_ONCE`, the input texture is copied once and the mode is changed to :ref:`VIEWPORT_VRS_UPDATE_DISABLED`. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_visibility_notifier_create: .. rst-class:: classref-method diff --git a/classes/class_resourceloader.rst b/classes/class_resourceloader.rst index 5aa9bd317..5af630f41 100644 --- a/classes/class_resourceloader.rst +++ b/classes/class_resourceloader.rst @@ -274,7 +274,7 @@ An optional ``type_hint`` can be used to further specify the :ref:`Resource` for details. -Returns an empty resource if no :ref:`ResourceFormatLoader` could handle the file. +Returns an empty resource if no :ref:`ResourceFormatLoader` could handle the file, and prints an error if no file is found at the specified path. GDScript has a simplified :ref:`@GDScript.load` built-in method which can be used in most situations, leaving the use of **ResourceLoader** for more advanced scenarios. diff --git a/classes/class_skeleton3d.rst b/classes/class_skeleton3d.rst index c0818e001..fe644ac73 100644 --- a/classes/class_skeleton3d.rst +++ b/classes/class_skeleton3d.rst @@ -392,7 +392,7 @@ Removes the global pose override on all bones in the skeleton. :ref:`int` **find_bone**\ (\ name\: :ref:`String`\ ) |const| -Returns the bone index that matches ``name`` as its name. +Returns the bone index that matches ``name`` as its name. Returns ``-1`` if no bone with this name exists. .. rst-class:: classref-item-separator diff --git a/classes/class_skeletonmodifier3d.rst b/classes/class_skeletonmodifier3d.rst index 7a35f8711..63104ee79 100644 --- a/classes/class_skeletonmodifier3d.rst +++ b/classes/class_skeletonmodifier3d.rst @@ -25,6 +25,8 @@ Description If there is :ref:`AnimationMixer`, modification always performs after playback process of the :ref:`AnimationMixer`. +This node should be used to implement custom IK solvers, constraints, or skeleton physics + .. rst-class:: classref-reftable-group Properties @@ -39,6 +41,18 @@ Properties | :ref:`float` | :ref:`influence` | ``1.0`` | +---------------------------+---------------------------------------------------------------+----------+ +.. rst-class:: classref-reftable-group + +Methods +------- + +.. table:: + :widths: auto + + +--------+-------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_process_modification`\ (\ ) |virtual| | + +--------+-------------------------------------------------------------------------------------------------------------+ + .. rst-class:: classref-section-separator ---- @@ -99,6 +113,25 @@ Sets the influence of the modification. \ **Note:** This value is used by :ref:`Skeleton3D` to blend, so the **SkeletonModifier3D** should always apply only 100% of the result without interpolation. +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Method Descriptions +------------------- + +.. _class_SkeletonModifier3D_private_method__process_modification: + +.. rst-class:: classref-method + +|void| **_process_modification**\ (\ ) |virtual| + +Override this virtual method to implement a custom skeleton modifier. You should do things like get the :ref:`Skeleton3D`'s current pose and apply the pose here. + +\ :ref:`_process_modification` must not apply :ref:`influence` to bone poses because the :ref:`Skeleton3D` automatically applies influence to all bone poses set by the modifier. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` diff --git a/classes/class_string.rst b/classes/class_string.rst index b73d0a829..c372308bf 100644 --- a/classes/class_string.rst +++ b/classes/class_string.rst @@ -79,6 +79,8 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`contains`\ (\ what\: :ref:`String`\ ) |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`containsn`\ (\ what\: :ref:`String`\ ) |const| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`count`\ (\ what\: :ref:`String`, from\: :ref:`int` = 0, to\: :ref:`int` = 0\ ) |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`countn`\ (\ what\: :ref:`String`, from\: :ref:`int` = 0, to\: :ref:`int` = 0\ ) |const| | @@ -533,7 +535,21 @@ Returns ``true`` if the string contains ``what``. In GDScript, this corresponds -If you need to know where ``what`` is within the string, use :ref:`find`. +If you need to know where ``what`` is within the string, use :ref:`find`. See also :ref:`containsn`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_String_method_containsn: + +.. rst-class:: classref-method + +:ref:`bool` **containsn**\ (\ what\: :ref:`String`\ ) |const| + +Returns ``true`` if the string contains ``what``, **ignoring case**. + +If you need to know where ``what`` is within the string, use :ref:`findn`. See also :ref:`contains`. .. rst-class:: classref-item-separator @@ -605,7 +621,7 @@ Returns a string with ``chars`` characters erased starting from ``position``. If :ref:`int` **filecasecmp_to**\ (\ to\: :ref:`String`\ ) |const| -Like :ref:`naturalcasecmp_to` but prioritises strings that begin with periods (``.``) and underscores (``_``) before any other character. Useful when sorting folders or file names. +Like :ref:`naturalcasecmp_to` but prioritizes strings that begin with periods (``.``) and underscores (``_``) before any other character. Useful when sorting folders or file names. To get a :ref:`bool` result from a string comparison, use the ``==`` operator instead. See also :ref:`filenocasecmp_to`, :ref:`naturalcasecmp_to`, and :ref:`casecmp_to`. @@ -619,7 +635,7 @@ To get a :ref:`bool` result from a string comparison, use the ``==`` :ref:`int` **filenocasecmp_to**\ (\ to\: :ref:`String`\ ) |const| -Like :ref:`naturalnocasecmp_to` but prioritises strings that begin with periods (``.``) and underscores (``_``) before any other character. Useful when sorting folders or file names. +Like :ref:`naturalnocasecmp_to` but prioritizes strings that begin with periods (``.``) and underscores (``_``) before any other character. Useful when sorting folders or file names. To get a :ref:`bool` result from a string comparison, use the ``==`` operator instead. See also :ref:`filecasecmp_to`, :ref:`naturalnocasecmp_to`, and :ref:`nocasecmp_to`. diff --git a/classes/class_stringname.rst b/classes/class_stringname.rst index 7b85e7d0b..737b47813 100644 --- a/classes/class_stringname.rst +++ b/classes/class_stringname.rst @@ -74,6 +74,8 @@ Methods +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`contains`\ (\ what\: :ref:`String`\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`containsn`\ (\ what\: :ref:`String`\ ) |const| | + +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`count`\ (\ what\: :ref:`String`, from\: :ref:`int` = 0, to\: :ref:`int` = 0\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`countn`\ (\ what\: :ref:`String`, from\: :ref:`int` = 0, to\: :ref:`int` = 0\ ) |const| | @@ -489,7 +491,21 @@ Returns ``true`` if the string contains ``what``. In GDScript, this corresponds -If you need to know where ``what`` is within the string, use :ref:`find`. +If you need to know where ``what`` is within the string, use :ref:`find`. See also :ref:`containsn`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_StringName_method_containsn: + +.. rst-class:: classref-method + +:ref:`bool` **containsn**\ (\ what\: :ref:`String`\ ) |const| + +Returns ``true`` if the string contains ``what``, **ignoring case**. + +If you need to know where ``what`` is within the string, use :ref:`findn`. See also :ref:`contains`. .. rst-class:: classref-item-separator @@ -561,7 +577,7 @@ Returns a string with ``chars`` characters erased starting from ``position``. If :ref:`int` **filecasecmp_to**\ (\ to\: :ref:`String`\ ) |const| -Like :ref:`naturalcasecmp_to` but prioritises strings that begin with periods (``.``) and underscores (``_``) before any other character. Useful when sorting folders or file names. +Like :ref:`naturalcasecmp_to` but prioritizes strings that begin with periods (``.``) and underscores (``_``) before any other character. Useful when sorting folders or file names. To get a :ref:`bool` result from a string comparison, use the ``==`` operator instead. See also :ref:`filenocasecmp_to`, :ref:`naturalcasecmp_to`, and :ref:`casecmp_to`. @@ -575,7 +591,7 @@ To get a :ref:`bool` result from a string comparison, use the ``==`` :ref:`int` **filenocasecmp_to**\ (\ to\: :ref:`String`\ ) |const| -Like :ref:`naturalnocasecmp_to` but prioritises strings that begin with periods (``.``) and underscores (``_``) before any other character. Useful when sorting folders or file names. +Like :ref:`naturalnocasecmp_to` but prioritizes strings that begin with periods (``.``) and underscores (``_``) before any other character. Useful when sorting folders or file names. To get a :ref:`bool` result from a string comparison, use the ``==`` operator instead. See also :ref:`filecasecmp_to`, :ref:`naturalnocasecmp_to`, and :ref:`nocasecmp_to`. diff --git a/classes/class_textedit.rst b/classes/class_textedit.rst index 9e971dc54..27d1e9f2c 100644 --- a/classes/class_textedit.rst +++ b/classes/class_textedit.rst @@ -3677,7 +3677,7 @@ Sets the selection origin column to the ``column`` for the given ``caret_index`` |void| **set_selection_origin_line**\ (\ line\: :ref:`int`, can_be_hidden\: :ref:`bool` = true, wrap_index\: :ref:`int` = -1, caret_index\: :ref:`int` = 0\ ) -Sets the selection origin line to the ``line`` for the given ``caret_index``. If the selection origin is moved to the caret position, the selection will deselect. +Sets the selection origin line to the ``line`` for the given ``caret_index``. If the selection origin is moved to the caret position, the selection will deselect. If ``can_be_hidden`` is ``false``, The line will be set to the nearest unhidden line below or above. diff --git a/classes/class_tilemaplayer.rst b/classes/class_tilemaplayer.rst index 4f3fcfd3c..ed045e77a 100644 --- a/classes/class_tilemaplayer.rst +++ b/classes/class_tilemaplayer.rst @@ -515,7 +515,7 @@ Returns the coordinates of the tile for given physics body :ref:`RID` :ref:`RID` **get_navigation_map**\ (\ ) |const| -Returns the :ref:`RID` of the :ref:`NavigationServer2D` navigation used by this **TileMapLayer**. +Returns the :ref:`RID` of the :ref:`NavigationServer2D` navigation used by this **TileMapLayer**. By default this returns the default :ref:`World2D` navigation map, unless a custom map was provided using :ref:`set_navigation_map`. diff --git a/classes/class_time.rst b/classes/class_time.rst index de5b71e42..7c75bf798 100644 --- a/classes/class_time.rst +++ b/classes/class_time.rst @@ -507,7 +507,7 @@ Converts the given Unix timestamp to an ISO 8601 time string (HH:MM:SS). :ref:`Dictionary` **get_time_zone_from_system**\ (\ ) |const| -Returns the current time zone as a dictionary of keys: ``bias`` and ``name``. +Returns the current time zone as a dictionary of keys: ``bias`` and ``name``. - ``bias`` is the offset from UTC in minutes, since not all time zones are multiples of an hour from UTC. diff --git a/classes/class_viewport.rst b/classes/class_viewport.rst index febfa7cb8..c559a4b59 100644 --- a/classes/class_viewport.rst +++ b/classes/class_viewport.rst @@ -147,6 +147,8 @@ Properties +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ | :ref:`Texture2D` | :ref:`vrs_texture` | | +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ + | :ref:`VRSUpdateMode` | :ref:`vrs_update_mode` | ``1`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ | :ref:`World2D` | :ref:`world_2d` | | +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ | :ref:`World3D` | :ref:`world_3d` | | @@ -1000,6 +1002,48 @@ Variable Rate Shading's texture is supplied by the primary :ref:`XRInterface` enum. +.. rst-class:: classref-item-separator + +---- + +.. _enum_Viewport_VRSUpdateMode: + +.. rst-class:: classref-enumeration + +enum **VRSUpdateMode**: + +.. _class_Viewport_constant_VRS_UPDATE_DISABLED: + +.. rst-class:: classref-enumeration-constant + +:ref:`VRSUpdateMode` **VRS_UPDATE_DISABLED** = ``0`` + +The input texture for variable rate shading will not be processed. + +.. _class_Viewport_constant_VRS_UPDATE_ONCE: + +.. rst-class:: classref-enumeration-constant + +:ref:`VRSUpdateMode` **VRS_UPDATE_ONCE** = ``1`` + +The input texture for variable rate shading will be processed once. + +.. _class_Viewport_constant_VRS_UPDATE_ALWAYS: + +.. rst-class:: classref-enumeration-constant + +:ref:`VRSUpdateMode` **VRS_UPDATE_ALWAYS** = ``2`` + +The input texture for variable rate shading will be processed each frame. + +.. _class_Viewport_constant_VRS_UPDATE_MAX: + +.. rst-class:: classref-enumeration-constant + +:ref:`VRSUpdateMode` **VRS_UPDATE_MAX** = ``3`` + +Represents the size of the :ref:`VRSUpdateMode` enum. + .. rst-class:: classref-section-separator ---- @@ -1801,6 +1845,23 @@ The texture *must* use a lossless compression format so that colors can be match ---- +.. _class_Viewport_property_vrs_update_mode: + +.. rst-class:: classref-property + +:ref:`VRSUpdateMode` **vrs_update_mode** = ``1`` + +.. rst-class:: classref-property-setget + +- |void| **set_vrs_update_mode**\ (\ value\: :ref:`VRSUpdateMode`\ ) +- :ref:`VRSUpdateMode` **get_vrs_update_mode**\ (\ ) + +Sets the update mode for Variable Rate Shading (VRS) for the viewport. VRS requires the input texture to be converted to the format usable by the VRS method supported by the hardware. The update mode defines how often this happens. If the GPU does not support VRS, or VRS is not enabled, this property is ignored. + +.. rst-class:: classref-item-separator + +---- + .. _class_Viewport_property_world_2d: .. rst-class:: classref-property diff --git a/classes/class_visualshadernodeframe.rst b/classes/class_visualshadernodeframe.rst index 0611c55aa..800da319f 100644 --- a/classes/class_visualshadernodeframe.rst +++ b/classes/class_visualshadernodeframe.rst @@ -21,7 +21,7 @@ A frame other visual shader nodes can be attached to for better organization. Description ----------- -A rectangular frame that can be used to group visual shader nodes together to improve organization. +A rectangular frame that can be used to group visual shader nodes together to improve organization. Nodes attached to the frame will move with it when it is dragged and it can automatically resize to enclose all attached nodes. diff --git a/classes/class_xrvrs.rst b/classes/class_xrvrs.rst new file mode 100644 index 000000000..0340079a2 --- /dev/null +++ b/classes/class_xrvrs.rst @@ -0,0 +1,115 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/XRVRS.xml. + +.. _class_XRVRS: + +XRVRS +===== + +**Inherits:** :ref:`Object` + +Helper class for XR interfaces that generates VRS images. + +.. rst-class:: classref-introduction-group + +Description +----------- + +This class is used by various XR interfaces to generate VRS textures that can be used to speed up rendering. + +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +---------------------------+------------------------------------------------------------+----------+ + | :ref:`float` | :ref:`vrs_min_radius` | ``20.0`` | + +---------------------------+------------------------------------------------------------+----------+ + | :ref:`float` | :ref:`vrs_strength` | ``1.0`` | + +---------------------------+------------------------------------------------------------+----------+ + +.. rst-class:: classref-reftable-group + +Methods +------- + +.. table:: + :widths: auto + + +-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`make_vrs_texture`\ (\ target_size\: :ref:`Vector2`, eye_foci\: :ref:`PackedVector2Array`\ ) | + +-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_XRVRS_property_vrs_min_radius: + +.. rst-class:: classref-property + +:ref:`float` **vrs_min_radius** = ``20.0`` + +.. rst-class:: classref-property-setget + +- |void| **set_vrs_min_radius**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_vrs_min_radius**\ (\ ) + +The minimum radius around the focal point where full quality is guaranteed if VRS is used as a percentage of screen size. + +.. rst-class:: classref-item-separator + +---- + +.. _class_XRVRS_property_vrs_strength: + +.. rst-class:: classref-property + +:ref:`float` **vrs_strength** = ``1.0`` + +.. rst-class:: classref-property-setget + +- |void| **set_vrs_strength**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_vrs_strength**\ (\ ) + +The strength used to calculate the VRS density map. The greater this value, the more noticeable VRS is. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Method Descriptions +------------------- + +.. _class_XRVRS_method_make_vrs_texture: + +.. rst-class:: classref-method + +:ref:`RID` **make_vrs_texture**\ (\ target_size\: :ref:`Vector2`, eye_foci\: :ref:`PackedVector2Array`\ ) + +Generates the VRS texture based on a render ``target_size`` adjusted by our VRS tile size. For each eyes focal point passed in ``eye_foci`` a layer is created. Focal point should be in NDC. + +The result will be cached, requesting a VRS texture with unchanged parameters and settings will return the cached RID. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/index.rst b/classes/index.rst index e20368ca4..ae5441140 100644 --- a/classes/index.rst +++ b/classes/index.rst @@ -962,6 +962,7 @@ Other objects class_xrpositionaltracker class_xrserver class_xrtracker + class_xrvrs class_zippacker class_zipreader