summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd/renderer_scene_render_forward.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Renaming RendererSceneRenderForward to RendererSceneRenderForwardClustered ↵Bastiaan Olij2021-03-101-3674/+0
| | | | so we can introduce RendererSceneRenderForwardMobile
* Renamed SDGIShader to SDFGIShader and moved a bunch of things to privateBastiaan Olij2021-03-041-1/+1
|
* Moving GI code into RendererServerGIRDBastiaan Olij2021-02-251-11/+12
| | | | Moving Skyshader code into RendererServerSkyRD
* Reorganize Project Settingsreduz2021-02-181-3/+3
| | | | | | | -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.
* Make Servers truly Thread Safereduz2021-02-101-6/+12
| | | | | | | | | -Rendering server now uses a split RID allocate/initialize internally, this allows generating RIDs immediately but initialization to happen later on the proper thread (as rendering APIs generally requiere to call on the right thread). -RenderingServerWrapMT is no more, multithreading is done in RenderingServerDefault. -Some functions like texture or mesh creation, when renderer supports it, can register and return immediately (so no waiting for server API to flush, and saving staging and command buffer memory). -3D physics server changed to be made multithread friendly. -Added PhysicsServer3DWrapMT to use 3D physics server from multiple threads. -Disablet Bullet (too much effort to make multithread friendly, this needs to be fixed eventually).
* Rewrote how barriers work for faster renderingreduz2021-02-041-243/+435
| | | | | | | | | | | -Added more finegrained control in RenderingDevice API -Optimized barriers (use less ones for thee same) -General optimizations -Shadows render all together unbarriered -GI can render together with shadows. -SDFGI can render together with depth-preoass. -General fixes -Added GPU detection
* Reorganize RenderingDevice barriersreduz2021-01-261-8/+8
| | | | | | | -Removed sync to draw, now everything syncs to draw by default. -Fixed many validation layer errors. -Added support for VkImageViewUsageCreateInfo to fix validation layer warnings. -Texture, buffer, raster and compute functions now all allow spcifying which barriers will be used.
* Add named resources and debug labels in RenderDocclayjohn2021-01-251-5/+24
|
* Implement shadow meshesreduz2021-01-251-3/+11
| | | | | | -When importing, a vertex-only version of the mesh is created. -This version is used when rendering shadows, and improves performance by reducing bandwidth -It's automatic, but can optionally be used by users, in case they want to make special versions of geometry for shadow casting.
* Shadow map rendering optimizationreduz2021-01-241-48/+61
| | | | | | | -All shadow rendering is done with raster now (no compute) -All shadow rendering is done by rendering directly to the shadow atlas -Improved how buffer clearing is done to optimize the above. -Ability to set shadows as 16 bits.
* Several GI related optimizations and fixesreduz2021-01-241-41/+7
| | | | | | | | | | | | -SDFGI direct light is done over many frames -SDFGI Changed settings for rays/frame -SDFGI Misc optimizations -SDFGI Bug fix on probe scroll -GIProbe was not working, got it to work again -GIProbe dynamic objects were not working, fixed -Added a half size GI option.
* Added GPU based cluster builderreduz2021-01-191-58/+74
| | | | Clustering is now GPU based, uses an implementation based on the Activision algorithm.
* Fix shader uniform instances compilationYuri Roubinsky2021-01-111-1/+1
|
* Added ability to visualize native shadersreduz2021-01-061-0/+6
|
* Threaded optimizations to cull and renderreduz2021-01-051-55/+83
| | | | | -Reorganize thread work pool for rendering -Fixes to make secondary command buffers to work (disabled because they need more testing)
* Rewrite render code to be more cache and thread friendly.reduz2021-01-051-510/+653
|
* Reorganize renderer code.reduz2021-01-051-76/+242
| | | | So it can hopefully be made more cache efficient afterwards.
* Merge pull request #44530 from clayjohn/VULKAN-framebuffer-errorRémi Verschelde2021-01-041-2/+4
|\ | | | | Use basic uniform set for depth prepass
| * Use basic uniform set for depth prepassclayjohn2020-12-231-2/+4
| |
* | Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* | Consistently use normal_mapMarcel Admiraal2020-12-291-5/+5
| |
* | Rename empty() to is_empty()Marcel Admiraal2020-12-281-3/+3
| |
* | Rewrite culling to be more cache/thread friendly.reduz2020-12-261-7/+14
|/ | | | | | -Uses a single array with all data -Massive performance improvement -Does not support threads yet, but code is now thread friendly
* Replace Octree by DynamicBVH in cull codereduz2020-12-231-31/+31
| | | | | | -Much greater pairing/unpairing performance -For now, using it for culling too, but this will change in a couple of days. -Added a paged allocator, to efficiently alloc/free some types of objects.
* Port ASSAO to Godot to replace SAOclayjohn2020-12-211-2/+2
|
* Fix error spam on wrong attachmentreduz2020-12-191-1/+1
| | | | | -For now, disable reading from depth this was always broken, needs to be fixed later -Give better error showing binding and set when this happens.
* Improved shadow rendering efficiencyreduz2020-12-181-1/+2
| | | | | -Do not bind attributes that are not needed -Improve a bit more how meshoptimizer interacts with Godot
* Implement automatic LOD (Level of Detail)reduz2020-12-181-32/+62
| | | | | | | -Happens on import by default for all models -Just works (tm) -Biasing can be later adjusted per node or per viewport (as well as globally) -Disabled AABB.get_support test because its broken
* Reimplement skeletons and blend shapesreduz2020-12-161-1/+5
| | | | Uses compute shaders, which only once, on demand, and all in parallel.
* Fixes to recent Vulkan errorsclayjohn2020-12-101-2/+2
|
* Add support for low-end 3D rendering.reduz2020-12-071-227/+239
| | | | | -Reduce number of uniform sets from 6 to 4. -Remove features in low end mode, in order to reduce the number of texture units fit to 16.
* Rename RD texture "type" to "texture_type"Aaron Franke2020-12-041-1/+1
| | | "type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
* Rename RD uniform "type" to "uniform_type"Aaron Franke2020-12-041-44/+44
| | | "type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
* RenderingServer reorganizationreduz2020-12-041-0/+3054