Bastiaan Olij
71c5d73b5e
Remove low_end option from renderer, being replaced by separate implementation
2021-04-09 22:04:56 +10:00
Bastiaan Olij
e93c9fc4ed
As GLSLang seems to be all or nothing, added our own defines
2021-03-31 21:47:25 +11:00
Bastiaan Olij
7f63c9e7c9
Changed SCsub for shaders to find shaders automatically and create dependencies with include files
2021-03-18 12:59:47 +11:00
Bastiaan Olij
a895844c82
Renaming RendererSceneRenderForward to RendererSceneRenderForwardClustered so we can introduce RendererSceneRenderForwardMobile
2021-03-10 22:34:50 +11:00
Clay John
32dec4accd
Merge pull request #45326 from clayjohn/VULKAN-ign-shadows
...
Use Interleaved gradient noise for shadow samples
2021-02-18 13:17:41 -08:00
Kayomn
fa8a47e1bf
Fix math error in blend shape application tolerance
2021-02-17 10:30:29 +01:00
Rémi Verschelde
e9a25b8552
Merge pull request #45859 from Kayomn/master
...
Accomodate blend shape ranges of -1 to +1 for Vulkan
2021-02-12 09:26:14 +01:00
Kayomn
ca945421a0
Accomodate blend shape ranges of -1 to +1
2021-02-09 23:09:54 +00:00
reduz
3e2281a347
Improve SDFGI indirect light feedback loop
...
-Use occlusion for feedback, further reduces light leaking.
-More control on feedback, now its a slider.
2021-02-07 21:30:12 -03:00
jfons
99e1ce0690
Invert spotlight angle attenuation
...
Inverted the spotlight angle attenuation so a higher value results in
a dimmer light, this makes it more consistent with the distance
attenuation.
Also changed the way spotlighs are computed in SDFGI
and GIPorbes and GPU lightmapper, now it matches the falloff used in the scene rendering
code.
2021-02-07 20:10:33 +01:00
Rémi Verschelde
7a60c45671
Merge pull request #45786 from reduz/fix-sdfgi-radeon
...
Fixed an SDFGI reflections bug in Radeon
2021-02-07 12:24:07 +01:00
reduz
c4daf1c4ba
Fixed a SDFGI reflections bug in Radeon
...
-Code was using too many conditionals.
-Rewrote it to use less and it now works fine.
2021-02-07 07:33:41 -03:00
jfons
9c6b081ab1
Fix volumetric fog for SpotLights
...
The code for spot lights was referencing the omni light list. Most
likely a copy-paste mistake :)
2021-02-07 03:38:09 +01:00
reduz
d0cc899398
Fix SDFGI bug after previous optimization.
...
Was causing arctifacts, should be good now.
2021-02-06 18:49:10 -03:00
reduz
8faf23b52b
Simplify Volumetric Fog
...
-Always use temporal reproject, it just loos way better than any other filter.
-By always using termporal reproject, the shadowmap reduction can be done away with, massively improving performance.
-Disadvantage of temporal reproject is update latency so..
-Made sure a gaussian filter runs in XY after fog, this allows to keep stability and lower latency.
2021-02-06 15:08:21 -03:00
Lyuma
780e761dbc
Fix mismatched define in scene_forward.glsl for POSITION override
2021-02-05 13:09:33 -08:00
reduz
7997544af5
Added temporal reprojection to Volumetric Fog
...
-It's an option, just enable it
-Just works, don't have to do anything else.
2021-02-05 10:52:54 -03:00
reduz
33278b0721
Fixes to get Godot running again on Intel IGP
...
-Fixed strange bug with shadowed instance_param (this should not have worked anywhere, odd..)
-Cleaned up barrier usage further.
2021-02-05 00:02:06 -03:00
reduz
f20999f6fe
Rewrote how barriers work for faster rendering
...
-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
2021-02-04 09:42:28 -03:00
reduz
280f334f81
Reorganize RenderingDevice barriers
...
-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.
2021-01-26 10:24:12 -03:00
reduz
a9beb7aa8c
Shadow map rendering optimization
...
-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.
2021-01-24 20:17:28 -03:00
reduz
6fe342478b
Several GI related optimizations and fixes
...
-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.
2021-01-24 19:29:07 -03:00
clayjohn
561de937b1
Use Interleaved gradient noise for shadow samples
2021-01-21 07:47:01 -08:00
reduz
099dee35f4
Added GPU based cluster builder
...
Clustering is now GPU based, uses an implementation based on the Activision algorithm.
2021-01-19 23:31:06 +01:00
reduz
7008e3c6ea
Shader optimizations to reduce VGPR usage and increase occupancy
2021-01-19 23:31:02 +01:00
Yuri Roubinsky
ef941a6500
Renamed `emit_particle` to `emit_subparticle` shader function
2021-01-12 09:41:08 +03:00
Yuri Roubinsky
fdfddbdc3c
Fix LIGHT compilation for canvas shader
2021-01-09 23:22:59 +03:00
reduz
446618cf94
Change the light attenuation formulas.
...
-Much better looking, physically based.
-Almost negligible extra cost.
2021-01-05 14:44:05 -03:00
reduz
5d2a1d7892
Rewrite render code to be more cache and thread friendly.
2021-01-05 08:50:18 -03:00
reduz
9a2f18f8e7
Reorganize renderer code.
...
So it can hopefully be made more cache efficient afterwards.
2021-01-05 08:50:18 -03:00
Rémi Verschelde
00f5ea2ed2
Merge pull request #44842 from clayjohn/VULKAN-SSAO-2
...
SSAO renames and move push constant binding
2021-01-04 23:03:54 +01:00
Hendrik Brucker
ec6fc059b7
fix inconsistent normal map shader variable naming
2021-01-04 14:08:01 +01:00
clayjohn
0015260c4b
SSAO cleanup and fixes
2021-01-03 21:32:22 -08:00
Marcel Admiraal
b4a190e0bc
Consistently use normal_map
2020-12-29 08:04:19 +00:00
clayjohn
34cfe1cc40
Cleanup leftover functions from adding SSAO
2020-12-26 16:33:07 -08:00
clayjohn
44f8922305
Port ASSAO to Godot to replace SAO
2020-12-21 23:08:59 -08:00
reduz
7bf90c7888
Improved shadow rendering efficiency
...
-Do not bind attributes that are not needed
-Improve a bit more how meshoptimizer interacts with Godot
2020-12-18 19:47:32 -03:00
reduz
bf77016c8a
Reimplement skeletons and blend shapes
...
Uses compute shaders, which only once, on demand, and all in parallel.
2020-12-16 14:32:04 -03:00
clayjohn
775e3db2e1
Fixes to recent Vulkan errors
2020-12-10 22:47:53 -08:00
reduz
2748b9a10d
Add support for low-end 3D rendering.
...
-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.
2020-12-07 20:50:57 -03:00
reduz
2787ad65be
RenderingServer reorganization
2020-12-04 18:39:46 -03:00