summaryrefslogtreecommitdiff
path: root/servers/rendering
AgeCommit message (Collapse)Author
2021-05-06Cleanup vulkan capabilities check and add multiview checkBastiaan Olij
2021-05-05Merge pull request #48435 from BastiaanOlij/no_repeat_mobile_rendererRémi Verschelde
Remove repeat from forward mobile renderer
2021-05-04Remove repeat from forward mobile rendererBastiaan Olij
2021-05-03Assorted fixes to UV unwrapping and GPU lightmapperjfons
Various fixes to UV2 unwrapping and the GPU lightmapper. Listed here for context in case of git blame/bisect: * Fix UV2 unwrapping on import, also cleaned up the unwrap cache code. * Fix saving of RGBA images in EXR format. * Fixes to the GPU lightmapper: - Added padding between atlas elements, avoids bleeding. - Remove old SDF generation code. - Fix baked attenuation for Omni/Spot lights. - Fix baking of material properties onto UV2 (wireframe was wrongly used before). - Disable statically baked lights for objects that have a lightmap texture to avoid applying the same light twice. - Fix lightmap pairing in RendererSceneCull. - Fix UV2 array generated from `RenderingServer::mesh_surface_get_arrays()`. - Port autoexposure fix for OIDN from 3.x. - Save debug textures as EXR when using floating point format.
2021-05-03Create mobile rendererBastiaan Olij
2021-04-30Implement Particle Trailsreduz
-Enable the trails and set the length in seconds -Provide a mesh with a skeleton and a skin -Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh -Works deterministically -Fixed particle collisions (were broken) -Not working in 2D yet (that will happen next)
2021-04-28Merge pull request #48239 from akien-mga/goodbye-copymemRémi Verschelde
Core: Drop custom `copymem`/`zeromem` defines
2021-04-27Merge pull request #48050 from JFonS/occlusion_cullingRémi Verschelde
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27Fix shader handle constant expressions in function callYuri Roubinsky
2021-04-25Remove duplicate commentsDennis Brakhane
A few single line comments were duplicated, probably due to bad merges. This commit removes the obviously duplicate ones.
2021-04-23Implement occlusion cullingjfons
Added an occlusion culling system with support for static occluder meshes. It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`. Occluders are defined via the new `Occluder3D` resource and instanced using the new `OccluderInstance3D` node. The occluders can also be automatically baked from a scene using the built-in editor plugin.
2021-04-21Fix reflection probeBastiaan Olij
2021-04-17Split particle shader entry pointsreduz
* Particle shaders now have start() and process() * Particle collision happens between them. * The RESTART property is kept, so porting an old shader is still possible. This fixes the problem of particle collisions not functioning on the first particle frame.
2021-04-15Merge pull request #47878 from clayjohn/rename-get_surface_materialRémi Verschelde
Rename get_surface_material to get_surface_override_material
2021-04-14Rename get_surface_material to get_surface_override_materialclayjohn
2021-04-14Refactor GLSL shader compilationreduz
-Used a more consistent set of keywords for the shader -Remove all harcoded entry points -Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization. -Entry point for sky shaders is now sky(). -Entry point for particle shaders is now process().
2021-04-09Remove low_end option from renderer, being replaced by separate implementationBastiaan Olij
2021-04-05Move clustered renderer functionalityBastiaan Olij
2021-04-05Style: Apply clang-tidy's `readability-braces-around-statements`Rémi Verschelde
2021-04-05Style: Apply clang-tidy's `modernize-use-nullptr`Rémi Verschelde
2021-04-05Style: Apply clang-tidy's `modernize-use-default-member-init`Rémi Verschelde
2021-03-31As GLSLang seems to be all or nothing, added our own definesBastiaan Olij
2021-03-26Obtain supported Vulkan APIBastiaan Olij
2021-03-18Changed SCsub for shaders to find shaders automatically and create ↵Bastiaan Olij
dependencies with include files
2021-03-17Added validation when assigning heightfield_resolution (Fix #46281)Ignacio Abal
2021-03-13fix issue vulkan crash on open shader materialssboronczyk
2021-03-11Removed time duplicate from ForwardClustered. Just use the variable from its ↵Bastiaan Olij
superclass
2021-03-11Combine init_gi and init_sdfgi into a single initBastiaan Olij
2021-03-11Renamed one more Forward render struct and fixed typoBastiaan Olij
2021-03-11Moving RendererStorageRD *storage to protected, no sense duplicating it in ↵Bastiaan Olij
forward_clustered
2021-03-10Renaming RendererSceneRenderForward to RendererSceneRenderForwardClustered ↵Bastiaan Olij
so we can introduce RendererSceneRenderForwardMobile
2021-03-08Merge pull request #46642 from BastiaanOlij/sdfgi_rename_and_cleanupRémi Verschelde
Renamed SDGIShader to SDFGIShader and moved a bunch of things to private
2021-03-05Fix negative VRAM valuesEv1lbl0w
2021-03-04Fix canvas renderer line widthAlex Hirsch
fix #46644
2021-03-04Renamed SDGIShader to SDFGIShader and moved a bunch of things to privateBastiaan Olij
2021-03-02Merge pull request #46594 from asheraryam/fix-clip-content-masterRémi Verschelde
Fix rounding error in Clip Content [4.0]
2021-03-02Fix rounding error in Clip Contentasheraryam
Rounds the position and size of the final clip rect to avoid flickering issues. Fixes https://github.com/godotengine/godot/issues/46493
2021-03-01Merge pull request #46046 from BastiaanOlij/cleanup_giRémi Verschelde
Moving GI and Sky code from RendererSceneRenderRD into separate classes
2021-03-01Merge pull request #46522 from Ev1lbl0w/bugfix-shader_noretRémi Verschelde
Added missing returns on error scenarios
2021-03-01Fix parsing hexadecimal (lowercase `e`,`f`) in shadersYuri Roubinsky
2021-02-28Added missing returns on error scenariosEv1lbl0w
2021-02-25Moving GI code into RendererServerGIRDBastiaan Olij
Moving Skyshader code into RendererServerSkyRD
2021-02-21Prevents shader crash if two struct with the same name are declaredYuri Roubinsky
2021-02-21Prevents shader crash if passing invalid struct to the return statementYuri Roubinsky
2021-02-19doc: Sync classref with current sourceRémi Verschelde
And fix various bogus bindings following previous PRs.
2021-02-18Merge pull request #45326 from clayjohn/VULKAN-ign-shadowsClay John
Use Interleaved gradient noise for shadow samples
2021-02-18Merge pull request #45617 from RandomShaper/modernize_atomicsRémi Verschelde
Modernize atomics (and fix `volatile`)
2021-02-18Modernize atomicsPedro J. Estébanez
- Based on C++11's `atomic` - Reworked `SafeRefCount` (based on the rewrite by @hpvb) - Replaced free atomic functions by the new `SafeNumeric<T>` - Replaced wrong cases of `volatile bool` by the new `SafeFlag` - Platform-specific implementations no longer needed Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18Reorganize Project Settingsreduz
-Advanced Settings toggle also hides advanced properties when disabled -Simplified Advanced Bar (errors were just plain redundant) -Reorganized rendering quality settings. -Reorganized miscelaneous settings for clean up.