summaryrefslogtreecommitdiff
path: root/servers/rendering
AgeCommit message (Collapse)Author
2021-07-02Remove leftovers from the DirectionalLight3D Optimized shadow depth rangeHugo Locurcio
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.
2021-07-01Fix surface from array creationreduz
* The debug check was not updated to the new format. * Bug introduced by #50037
2021-07-01Merge pull request #50040 from reduz/fix-renderingserver-bindingsRémi Verschelde
Clean up RenderingServer and its bindings
2021-07-01Clean up RenderingServer and its bindingsreduz
* Rewrote bindings for RenderingServer. * They are now all up to date. * Several unused methods and deprecated features were cleaned up.
2021-06-30Import mesh colors in 8BPP.reduz
* 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)
2021-06-30Deprecate ImmediateGeometryreduz
* 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.
2021-06-29Fixes to 2D viewportreduz
* 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)
2021-06-29Improve RID_Owner memory usagereduz
* 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
2021-06-29Fix non uniform scaling in 3D objectsreduz
* Flag was there, but not implemented. * Fixed issue with base flags not being initialized.
2021-06-26Move render_sky logic from effects into our sky object, and some minor cleanupBastiaan Olij
2021-06-25Merge pull request #49885 from reduz/implement-render-pass-supportRémi Verschelde
Implement Framebuffer Subpass support
2021-06-24Implement Framebuffer Subpass supportreduz
* Required for better optimizing mobile platforms * Will be used by the Vulkan mobile renderer.
2021-06-24Merge pull request #49826 from groud/fix_mesh_transformRémi Verschelde
Keep the drawing transform when drawing meshing in CanvasItem
2021-06-23Fixes Mesh2D drawn without modulationGilles Roudière
2021-06-22Keep the drawing transform when drawing meshing in CanvasItemGilles Roudière
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-20Merge pull request #49737 from JFonS/fix_vis_rangeRémi Verschelde
Fix crash in visibility range system.
2021-06-19Merge pull request #49615 from BastiaanOlij/inverse_xr_camera_offsetBastiaan Olij
Inverse XR camera offset for stereoscopic rendering
2021-06-19Fix crash in visibility range system.jfons
2021-06-19Inverse XR camera offset for stereoscopic renderingBastiaan Olij
2021-06-18Fix "Ignore Occlusion Culling" flag.jfons
2021-06-18Merge pull request #49659 from LightningAA/string-valid-integer-to-intRémi Verschelde
2021-06-17Implement animation slice drawing in CanvasItemreduz
* 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.
2021-06-16Refactor VisibilityNotifier3Dreduz
* 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.
2021-06-16Rename `is_valid_integer()` to `is_valid_int()`Lightning_A
Method from `String`
2021-06-16Refactor VisibilityNotifierreduz
* Works from RenderinServer * Accurately tells when on or off-scren, its no longer approximate. * VisibilityEnabler also simplified to use the process mode instead.
2021-06-15Merge pull request #49630 from kodiwills/fix-custom-irradiance-typoRémi Verschelde
Fix typo in `CUSTOM_IRRADIANCE` calculations
2021-06-15Fix typo in CUSTOM_IRRADIANCE calculationsKodi
2021-06-14Merge pull request #49584 from timothyqiu/shader-data-null-checkRémi Verschelde
Add missing null check for ShaderData
2021-06-14Merge pull request #49576 from clayjohn/VULKAN-SSAO-uniform-setsRémi Verschelde
Store SSAO uniform sets per viewport
2021-06-14Merge pull request #49585 from timothyqiu/oh-unsignedRémi Verschelde
Fix invalid read when using MultiMesh
2021-06-14Merge pull request #48847 from JFonS/vis_depsRémi Verschelde
Implement visibility range and dependencies
2021-06-14Implement visibility range and dependencies.jfons
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).
2021-06-14Fix invalid read when using MultiMeshHaoyu Qiu
2021-06-14Add missing null check for ShaderDataHaoyu Qiu
2021-06-14Fixed error spam when XR mode is not enabled and a missed setting renameBastiaan Olij
2021-06-13Store SSAO uniform sets per viewportclayjohn
2021-06-13Add stereoscopic rendering through multiviewBastiaan Olij
2021-06-12Make shader compiler again after roughness limiter fixreduz
Fix shader compilation error after merging #49549
2021-06-12Merge pull request #49549 from clayjohn/VULKAN-roughness-limiterJuan Linietsky
Fix roughness limiter derivative
2021-06-12Fix roughness limiter derivativeclayjohn
2021-06-12Fix VoxelGI (works again).reduz
It was broken due to #46046, this makes it work again.
2021-06-12Merge pull request #49520 from pfertyk/issue-46278-empty-texture-crashes-godotRémi Verschelde
Validate texture in RendererStorageRD::free
2021-06-11Validate texture in RendererStorageRD::freePaweł Fertyk
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-10Merge pull request #49456 from Chaosus/fix_shader_lengthYuri Roubinsky
Fix `length()` array function usage in shader
2021-06-10Fix `length()` array function usage in shaderYuri Roubinsky
2021-06-09Refactor CommandQueueMTreduz
* 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.
2021-06-09Fix shader compilation with render_mode: `specular_phong`Yuri Roubinsky