Age | Commit message (Collapse) | Author |
|
The Optimized shadow depth range was removed in late 2020 in favor
of the Stable shadow depth range, but it still had a (broken) property
that allowed to enable it.
|
|
* The debug check was not updated to the new format.
* Bug introduced by #50037
|
|
Clean up RenderingServer and its bindings
|
|
* Rewrote bindings for RenderingServer.
* They are now all up to date.
* Several unused methods and deprecated features were cleaned up.
|
|
* Colors were imported as 16BPP (half float)
* Far most common use cases only require 8BPP
* If you need higher data precision, use a custom array, which are supported now.
**WARNING**: 3D Scenes imported in 4.0 no longer compatible with this new format. You need to re-import them (erase them from .godot/import)
|
|
* Removed entirely from RenderingServer.
* Replaced by ImmediateMesh resource.
* ImmediateMesh replaces ImmediateGeometry, but could use more optimization in the future.
* Sprite3D and AnimatedSprite3D work again, ported from Godot 3.x (though a lot of work was needed to adapt them to Godot 4).
* RootMotionView works again.
* Polygon3D editor works again.
|
|
* Editor 2D viewport now uses embedded subwindows (windows no longer pop up)
* Restored the ability to disable 3D on the 2D viewport (makes 3D not display on 2D when there is a camera on the scene)
|
|
* Ability to allocate empty objects in RID_Owner, so RID_PtrOwner is not needed in most cases.
* Improves cache usage, as objects are now allocated together
* Should improve performance in 2D rendering
|
|
* Flag was there, but not implemented.
* Fixed issue with base flags not being initialized.
|
|
|
|
Implement Framebuffer Subpass support
|
|
* Required for better optimizing mobile platforms
* Will be used by the Vulkan mobile renderer.
|
|
Keep the drawing transform when drawing meshing in CanvasItem
|
|
|
|
|
|
|
|
Fix crash in visibility range system.
|
|
Inverse XR camera offset for stereoscopic rendering
|
|
|
|
|
|
|
|
|
|
* Added a function to ignore subsequent commands if they don't fall within the slice.
* This will be used by the new TileMap to properly provide animated tiles.
|
|
* This is the 3D counterpart to #49632
* Implemented a bit different as 3D works using instancing
After merged, both 2D and 3D classes will most likely be renamed in a separate PR to DisplayNotifier2D/3D.
|
|
Method from `String`
|
|
* Works from RenderinServer
* Accurately tells when on or off-scren, its no longer approximate.
* VisibilityEnabler also simplified to use the process mode instead.
|
|
Fix typo in `CUSTOM_IRRADIANCE` calculations
|
|
|
|
Add missing null check for ShaderData
|
|
Store SSAO uniform sets per viewport
|
|
Fix invalid read when using MultiMesh
|
|
Implement visibility range and dependencies
|
|
This commit adds the following properties to GeometryInstance3D: `visibility_range_begin`,
`visibility_range_begin_margin`, `visibility_range_end`, `visibility_range_end_margin`.
Together they define a range in which the GeometryInstance3D will be visible from the camera,
taking hysteresis into account for state changes. A begin or end value of 0 will be ignored,
so the visibility range can be open-ended in both directions.
This commit also adds the `visibility_parent` property to 'Node3D'.
Which defines the visibility parents of the node and its subtree (until
another parent is defined).
Visual instances with a visibility parent will only be visible when the parent, and all of its
ancestors recursively, are hidden because they are closer to the camera than their respective
`visibility_range_begin` thresholds.
Combining visibility ranges and visibility parents users can set-up a quick HLOD system
that shows high detail meshes when close (i.e buildings, trees) and merged low detail meshes
for far away groups (i.e. cities, woods).
|
|
|
|
|
|
|
|
|
|
|
|
Fix shader compilation error after merging #49549
|
|
Fix roughness limiter derivative
|
|
|
|
It was broken due to #46046, this makes it work again.
|
|
Validate texture in RendererStorageRD::free
|
|
|
|
|
|
File handling APIs are typically considered part of I/O, and we did have most
`FileAccess` implementations in `core/io` already.
|
|
Fix `length()` array function usage in shader
|
|
|
|
* RingBuffer had no reason to be in this context
* A single buffer is used that can grow as much as the game needs.
This should make thread loading entirely reliable.
|
|
|