| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
incompatible with ubershader method definitions
|
|
|
|
|
|
|
|
|
|
|
| |
Add ubershaders and rework pipeline caches for Forward+ and Mobile.
- Implements asynchronous transfer queues from PR #87590.
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
|
|
|
|
|
|
|
|
| |
This adds support in all backends, but the Compatibility renderer works the best.
Mobile and Forward+ can only support one directional light shader (the first in the tree)
While the Compatibility renderer supports any number of shadows.
Co-authored-by: Clay John <claynjohn@gmail.com>
|
|\
| |
| |
| | |
Jitter shadow map dithering pattern across frames when TAA is enabled
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This improves shadow quality by reducing the visibility of the noisy
pattern caused by dithering.
This jittering also applies when FSR2 is enabled, as it provides its own
form of temporal antialiasing.
Co-authored-by: Clay John <claynjohn@gmail.com>
|
|/ |
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
|
| |
| |
| |
| |
| |
| | |
mode looks correct
Also remove the metallic option from directional lightmap as it is guaranteed to return negative numbers in many cases
|
|\ \
| | |
| | |
| | | |
Implement bicubic sampling for lightmaps
|
| | |
| | |
| | |
| | | |
Co-authored-by: Calinou <hugo.locurcio@hugo.pro>
|
|\ \ \
| |_|/
|/| |
| | | |
Add `model_normal_matrix` for fragment shader
|
| |/ |
|
|\ \
| | |
| | |
| | | |
Disable all sources of ambient light when `ambient_light_disabled` render mode is used
|
| | |
| | |
| | |
| | | |
mode is used
|
| |/
|/| |
|
| | |
|
|/
|
|
|
|
| |
vertex shader.
This works around a bug on the Quest3 and slightly improves performance on all mobile devices at the cost of increased pipeline count.
|
|
|
|
|
|
|
| |
Initially 3d had premulT alpha as a keyword.
Since Canvas item uses mixed premul and premult as keywords,
3D is changed as well to keep consistency with 2D.
Unfortunately this keeps inconsistency with the internal ENUM.
|
|
|
|
|
| |
Co-authored-by: jitspoe <jitspoe@yahoo.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
|
| |
|
|
|
|
|
| |
Adds a new variable to the fragment shader to specify
the vertex position used when calculating lighting.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
Improve split blending logic for Vulkan
|
| |
| |
| |
| | |
Improve Split Blending Logic
|
| |
| |
| |
| | |
The hard limit for Apple devices is 16 samplers per stage. So we need to ensure we use less than that
|
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes a bugs where per-viewport samplers were being used for internal texture fetches (probes, sky, etc.).
This also fixes a bug when using multiple viewports in the same scene.
This also fixes a bug where the texture bias would override the bias from 3D scale.
|
| |
| |
| |
| | |
coverage
|
| |
| |
| |
| | |
is in local space
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
This allows Godot to automatically compress meshes to save a lot of bandwidth.
In general, this requires no interaction from the user and should result in
no noticable quality loss.
This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.
Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
discard was being included in all shaders set to depth pass opaque, which is the majority of shaders
Instead it should only be used with alpha prepass materials
|
|\
| |
| |
| | |
Replace sampler arrays with constant sampler elements, simplify and reuse code for all shaders
|
| | |
|
|\ \
| |/
|/|
| | |
Enable the use of all supported builtins on the light shader
|
| |
| |
| |
| |
| |
| | |
When using the light process in spatial shader,
the built-ins work as spected, now they work in forward+,
mobile and compatibility renderer.
|
|/
|
|
| |
This uses a render_mode instead of shadow_color to avoid adding a cost to the basic shader
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This commit updates the double precision vertex transform code from
using the MODEL_MATRIX to now use the MODELVIEW_MATRIX instead.
This can be made possible by transforming the MODELVIEW_MATRIX
back into model space (ie, same space as the MODEL_MATRIX) and then using it as if it were the MODEL_MATRIX.
With this in place we now properly handle VERTEX transformations that
a Material Shader might do, such as billboard-ing.
|
| |
|
|\
| |
| |
| | |
Make screen texture and depth texture work in Multiview
|
| | |
|