Age | Commit message (Collapse) | Author |
|
Fix CSGSphere3D mesh creation
|
|
Fix LSP reporting wrong types
|
|
|
|
|
|
|
|
|
|
And const when possible.
|
|
Implement Binary Shader Compilation
|
|
* Added an extra stage before compiling shader, which is generating a binary blob.
* On Vulkan, this allows caching the SPIRV reflection information, which is expensive to parse.
* On other (future) RenderingDevices, it allows caching converted binary data, such as DXIL or MSL.
This PR makes the shader cache include the reflection information, hence editor startup times are significantly improved.
I tested this well and it appears to work, and I added a lot of consistency checks, but because it includes writing and reading binary information, rare bugs may pop up, so be aware.
There was not much of a choice for storing the reflection information, given shaders can be a lot, take a lot of space and take time to parse.
|
|
Gallilus/VisualScript-drop-preload-nodes-change-action-name
Change "Add Preload Node" action to "Add Node(s)"
|
|
|
|
Add documentation to Array in C#
|
|
Use `System.Array.Empty<T>` to get an empty array instead of allocating
a new one every time. Since arrays are immutable there is no need to
allocate them every time.
|
|
|
|
|
|
|
|
The action might also drop Custom Nodes
|
|
|
|
|
|
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
|
|
|
|
Add a simple C# `.editorconfig`
|
|
|
|
|
|
Node3D gizmo improvements
|
|
Revert unnecessary changes to VisualScriptEmitSignal
|
|
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs.
* Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins.
* Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes.
* Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles.
* Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
|
|
Revert unnecessary changes to VisualScriptEmitSignal, commit 2032b56005b2f6add6b105a00f04c05f9b292eec
|
|
Sometimes there are meshes that doesn't have materials, so make sure to check this case before extracting the name.
|
|
Update GDNative API version for changes from #50659
|
|
|
|
|
|
Set the surface name when GLTF file is imported.
|
|
DavidCambre/Expose_VisualScriptCustomNode_TypeHints_m
|
|
Use the standard C `INFINITY` and `NAN` constants directly
|
|
|
|
DavidCambre/VisualScriptFunction_Call_Set_Get_Improvement-2
VisualScriptFunctionNodes Improvements
|
|
Use `is_equal_approx` in more places
|
|
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
|
|
The `Math_INF` and `Math_NAN` defines were just aliases for those
constants, so we might as well use them directly.
Some portions of the code were already using `INFINITY` directly.
|
|
This PR improves and streamlines the workflow for VisualScriptFunctionNodes Call Set Get
Uniform design.
Drag in set-get from tree is now working.
Removes redundant method_select popup.
|
|
Was missed as WebXR build was disabled prior to #50563.
|
|
Re-enable building WebXR in GitHub Actions
|
|
|
|
Add get_buffered_amount() to WebRTCDataChannel
|
|
This pull request fixes an issue where the visual script icons weren't representative of their data.
|
|
|
|
[Net] New `@rpc` annotation, "sync" is no longer part of mode.
|
|
Allow dropping custom node scripts in VisualScript editor
|
|
- Move the "sync" property for RPCs to RPCConfig.
- Unify GDScript annotations into a single one:
- `@rpc(master)` # default
- `@rpc(puppet)`
- `@rpc(any)` # former `@remote`
- Implement three additional `@rpc` options:
- The second parameter is the "sync" option (which also calls the
function locally when RPCing). One of "sync", "nosync".
- The third parameter is the transfer mode (reliable, unreliable,
ordered).
- The third parameter is the channel (unused for now).
|