summaryrefslogtreecommitdiff
path: root/servers/rendering
AgeCommit message (Collapse)Author
2021-07-07Fix material invalidation on reimport.reduz
* IF a texture was reimported (calling replace as an example), it would invalidate all materials using it, causing plenty of errors. * Added the possibility to get a notification when a uniform set is erased. * With this notification, materials can be queued for update properly.
2021-07-07Fix threaded update for texturesreduz
* Previews and other stuff now works again. * Not the best solution, will have to be improved in the future usinc async queues where supported.
2021-07-07Merge pull request #50193 from reduz/fix-command-queue-crashRémi Verschelde
Fix Command Queue Crash
2021-07-07Fix Command Queue Crashreduz
* No longer allow sending an object (texture) to the server as material parameter * Keep a parameter cache locally in ShaderMaterial
2021-07-06Unify material parameter updatereduz
* Unifies how material parameters are updated. * Single function, easier to maintain. * Updates materials properly when textures change.
2021-07-05Fix Subsurface Scatteringreduz
* Works again * Transmittance also works again * Removed the curve patamter, exp() function is good enough.
2021-07-05Fix transparency sortingDaniel Doran
2021-07-04Merge pull request #50137 from reduz/fix-boot-splashRémi Verschelde
Fix Boot Splash
2021-07-04Merge pull request #50138 from Calinou/debug-overdraw-lower-opacityRémi Verschelde
Decrease opacity of the overdraw debug draw mode
2021-07-04Merge pull request #50144 from reduz/fix-ssrRémi Verschelde
Fix SSR
2021-07-03Fix SSRreduz
* Was broken at some point long time ago, this restores it.
2021-07-03Fix SDFGIreduz
* Broken by 7513b73902f3ed7ac45aa9aefc2f6f333ae731ff, fixes #49631
2021-07-04Decrease opacity of the overdraw debug draw modeHugo Locurcio
This allows distinguishing higher amounts of overlapping objects.
2021-07-03Fix Boot Splashreduz
* Implements the code to show the boot splash on load using RenderingDevice * Does not work on X11 when maximized, some platform specific hack will be needed there.
2021-07-03Fix render debug modes.reduz
* Ovedraw debug works again * Lighting debug works again
2021-07-03Fix Render Inforeduz
* Fixed and redone the process to obtain render information from a viewport * Some stats, such as material changes are too difficult to guess on Vulkan, were removed. * Separated visible and shadow stats, which causes confusion. * Texture, buffer and general video memory can be queried now. * Fixed the performance metrics too.
2021-07-03Properly override virtual functions in render_scene_render_rd and subclassesBastiaan Olij
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).