Age | Commit message (Collapse) | Author |
|
|
|
* 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.
|
|
-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().
|
|
|
|
|
|
dependencies with include files
|
|
so we can introduce RendererSceneRenderForwardMobile
|
|
Use Interleaved gradient noise for shadow samples
|
|
|
|
Accomodate blend shape ranges of -1 to +1 for Vulkan
|
|
|
|
-Use occlusion for feedback, further reduces light leaking.
-More control on feedback, now its a slider.
|
|
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.
|
|
Fixed an SDFGI reflections bug in Radeon
|
|
-Code was using too many conditionals.
-Rewrote it to use less and it now works fine.
|
|
The code for spot lights was referencing the omni light list. Most
likely a copy-paste mistake :)
|
|
Was causing arctifacts, should be good now.
|
|
-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.
|
|
|
|
-It's an option, just enable it
-Just works, don't have to do anything else.
|
|
-Fixed strange bug with shadowed instance_param (this should not have worked anywhere, odd..)
-Cleaned up barrier usage further.
|
|
-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
|
|
-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.
|
|
-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.
|
|
-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.
|
|
|
|
Clustering is now GPU based, uses an implementation based on the Activision algorithm.
|
|
|
|
|
|
|
|
-Much better looking, physically based.
-Almost negligible extra cost.
|
|
|
|
So it can hopefully be made more cache efficient afterwards.
|
|
SSAO renames and move push constant binding
|
|
|
|
|
|
|
|
|
|
|
|
-Do not bind attributes that are not needed
-Improve a bit more how meshoptimizer interacts with Godot
|
|
Uses compute shaders, which only once, on demand, and all in parallel.
|
|
|
|
-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.
|
|
|