summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd
AgeCommit message (Collapse)Author
2021-07-26Merge pull request #50891 from Vitika9/50852Hugo Locurcio
Removed redundant assignment of `blur_pipeline`
2021-07-26Merge pull request #50847 from reduz/implement-binary-shader-compilationRémi Verschelde
Implement Binary Shader Compilation
2021-07-26Fixed coding stylevitika9
2021-07-26Fix expression in `cluster_builder_rd.h`Nicholas Huelin
This expression should now work as intended.
2021-07-26Implement Binary Shader Compilationreduz
* 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.
2021-07-26Merge pull request #50856 from SirQuartz/patch-32Rémi Verschelde
Fix always true expression `radius > 0.98 || radius < 1.02` in `cluster_builder_rd.h`
2021-07-25Fix always true expression in `cluster_builder_rd.h`Nicholas Huelin
This pull request fixes an issue where an expression would always evaluate to `true` no matter what.
2021-07-25Fix various typosluz paz
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`
2021-07-25Merge pull request #50809 from akien-mga/iterators-const-referencesRémi Verschelde
2021-07-25Merge pull request #50250 from luzpaz/typosRémi Verschelde
Fix various typos
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-25Merge pull request #50644 from BastiaanOlij/mobile_compute_to_fragmentRémi Verschelde
2021-07-25Fix various typos with codespellluz paz
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`
2021-07-25Use fragment shader instead of compute shader for effects for mobile rendererBastiaan Olij
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-20Merge pull request #50537 from Calinou/improve-shader-error-output-2Rémi Verschelde
Add error marking to the shader error console output
2021-07-20Merge pull request #50605 from Calinou/tweak-shader-code-styleRémi Verschelde
Use C++11 raw literals for shader code to improve readability
2021-07-19Implement more rendering options as specialization constantsreduz
* 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.
2021-07-19Use C++11 raw literals for shader code to improve readabilityHugo Locurcio
In files that have lots of branching, `\t` was replaced with a tab character instead.
2021-07-17Add error marking to the shader error console outputHugo Locurcio
This makes it possible to see where the shader error is without having to look at the trace printed below the source code.
2021-07-15Fixes to forward mobilereduz
* 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.
2021-07-15Merge pull request #49678 from BastiaanOlij/mobile_renderer_select_color_formatJuan Linietsky
Use 32bit instead of 64bit 3D render buffer on mobile renderer
2021-07-14Removes lines about window size from the console outputYuri Roubinsky
2021-07-13Use 32bit instead of 64bit 3D render buffer on mobileBastiaan Olij
2021-07-12Use specialization constants in clustered rendererreduz
* 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.
2021-07-12Merge pull request #50194 from BastiaanOlij/fix_multiple_reflection_probesRémi Verschelde
Fix indexing of multiple reflection probes
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-06Fix indexing of multiple reflection probesBastiaan Olij
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.