Age | Commit message (Collapse) | Author |
|
Removed redundant assignment of `blur_pipeline`
|
|
Implement Binary Shader Compilation
|
|
|
|
This expression should now work as intended.
|
|
* 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.
|
|
Fix always true expression `radius > 0.98 || radius < 1.02` in `cluster_builder_rd.h`
|
|
This pull request fixes an issue where an expression would always evaluate to `true` no matter what.
|
|
Follow-up typos 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`
|
|
|
|
Fix various typos
|
|
|
|
|
|
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 error marking to the shader error console output
|
|
Use C++11 raw literals for shader code to improve readability
|
|
* Shadow quality settings now specialization constant.
* Decal and light projector filters can be set.
* Changing those settings forces re-creation of the pipelines.
These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
|
|
In files that have lots of branching, `\t` was replaced with a
tab character instead.
|
|
This makes it possible to see where the shader error is without
having to look at the trace printed below the source code.
|
|
* use valid format for framebuffer: VK_FORMAT_A2B10G10R10_UNORM_PACK32
* Unfortunately cant be used for compute.
* Mobile will need to do refprobe, sky, mipmapblurring using raster.
|
|
Use 32bit instead of 64bit 3D render buffer on mobile renderer
|
|
|
|
|
|
* Keep track of when projector, softshadow or directional sofshadow were enabled.
* Enable them via specializaton constant where it makes sense.
* Re-implements soft shadows.
* Re-implements light projectors.
|
|
Fix indexing of multiple reflection probes
|
|
* 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.
|
|
* Previews and other stuff now works again.
* Not the best solution, will have to be improved in the future usinc async queues where supported.
|
|
Fix Command Queue Crash
|
|
* No longer allow sending an object (texture) to the server as material parameter
* Keep a parameter cache locally in ShaderMaterial
|
|
* Unifies how material parameters are updated.
* Single function, easier to maintain.
* Updates materials properly when textures change.
|
|
|
|
* Works again
* Transmittance also works again
* Removed the curve patamter, exp() function is good enough.
|
|
|
|
Fix Boot Splash
|
|
Decrease opacity of the overdraw debug draw mode
|
|
Fix SSR
|
|
* Was broken at some point long time ago, this restores it.
|
|
* Broken by 7513b73902f3ed7ac45aa9aefc2f6f333ae731ff, fixes #49631
|
|
This allows distinguishing higher amounts of overlapping objects.
|
|
* 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.
|
|
* Ovedraw debug works again
* Lighting debug works again
|
|
* 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.
|
|
|
|
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.
|