summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd/shaders/forward_mobile
Commit message (Collapse)AuthorAgeFilesLines
* Fix soft shadows by increasing the bit count for specialization constants.Dario2024-10-281-10/+19
|
* Move preprocessor to end of line for iterator, remove redeclaration ↵EnlightenedOne2024-10-141-5/+1
| | | | incompatible with ubershader method definitions
* Implement asynchronous transfer queues, thread guards on RenderingDevice. ↵Dario2024-10-022-61/+149
| | | | | | | | | | | 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.
* Implement vertex shadingywmaa2024-09-291-182/+144
| | | | | | | | 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>
* Merge pull request #97428 from clayjohn/shadow-filter-jitter-rebaseRémi Verschelde2024-09-261-18/+18
|\ | | | | | | Jitter shadow map dithering pattern across frames when TAA is enabled
| * Jitter shadow map dithering pattern across frames when TAA is enabledHugo Locurcio2024-09-241-18/+18
| | | | | | | | | | | | | | | | | | | | 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>
* | SCons: Add unobtrusive type hints in SCons filesThaddeus Crews2024-09-251-0/+1
|/
* Style: Apply new `clang-format` changesThaddeus Crews2024-09-201-6/+6
|
* LightmapGI: Pack L1 SH coefficients for directional lightmapsBlueCube33102024-09-051-9/+9
|
* Add `CLIP_SPACE_FAR` built-in to spatial shaderChaosus2024-08-271-0/+2
|
* Merge pull request #95888 from clayjohn/Lightmap-SH-coefficientsRémi Verschelde2024-08-251-11/+4
|\ | | | | | | Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
| * Use correct lightmap coefficients to ensure that the directional lightmap ↵clayjohn2024-08-211-11/+4
| | | | | | | | | | | | mode looks correct Also remove the metallic option from directional lightmap as it is guaranteed to return negative numbers in many cases
* | Merge pull request #89919 from BlueCube3310/bicubic-lightmapRémi Verschelde2024-08-202-6/+85
|\ \ | | | | | | | | | Implement bicubic sampling for lightmaps
| * | Implement support for bicubic lightmap filteringBlueCube33102024-08-192-6/+85
| | | | | | | | | | | | Co-authored-by: Calinou <hugo.locurcio@hugo.pro>
* | | Merge pull request #86000 from jsjtxietian/add-missing-model_normal_matrixRémi Verschelde2024-08-201-0/+7
|\ \ \ | |_|/ |/| | | | | Add `model_normal_matrix` for fragment shader
| * | Add model_normal_matrix for fragment shaderjsjtxietian2024-08-201-0/+7
| |/
* | Merge pull request #92213 from clayjohn/ambient-disabledRémi Verschelde2024-08-191-10/+12
|\ \ | | | | | | | | | Disable all sources of ambient light when `ambient_light_disabled` render mode is used
| * | Disable all sources of ambient light when `ambient_light_disabled` render ↵clayjohn2024-05-211-10/+12
| | | | | | | | | | | | mode is used
* | | Fix undefined `alpha_scissor` in standard shaderjsjtxietian2024-08-151-1/+1
| |/ |/|
* | Fix position from vertex shader partially uninitializedPedro J. Estébanez2024-07-231-1/+1
| |
* | Use a spec constant to control whether the MultiMesh branch is used in the ↵clayjohn2024-07-121-4/+6
|/ | | | | | 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.
* reverted naming to premul alpha (no T)QbieShay2024-05-011-4/+4
| | | | | | | 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.
* Added premult alpha blending to 3D (spatial) shaders.QbieShay2024-05-011-0/+6
| | | | | Co-authored-by: jitspoe <jitspoe@yahoo.com> Co-authored-by: Clay John <claynjohn@gmail.com>
* Fix issue in shadow to opacityBastiaan Olij2024-04-261-10/+2
|
* Add LIGHT_VERTEX to fragment shaderRob Blanckaert2024-04-251-0/+13
| | | | | Adds a new variable to the fragment shader to specify the vertex position used when calculating lighting.
* Use Reverse Z for the depth bufferKhasehemwy2024-04-041-2/+2
|
* Add optional depth fogEidolon2024-02-171-1/+10
|
* Add ivec variants to multiview_uv for stereo renderingBastiaan Olij2024-01-231-0/+12
|
* Use best fit normals for storing screen space normalsclayjohn2023-12-211-0/+1
|
* Merge pull request #82668 from mrjustaguy/masterYuri Sizov2023-12-181-5/+5
|\ | | | | | | Improve split blending logic for Vulkan
| * Improve Split Blendingmrjustaguy2023-10-021-5/+5
| | | | | | | | Improve Split Blending Logic
* | Reduce the number of samplers used by the scene shadersclayjohn2023-12-152-17/+6
| | | | | | | | The hard limit for Apple devices is 16 samplers per stage. So we need to ensure we use less than that
* | Use render pass uniform set to store viewport samplers.clayjohn2023-11-082-31/+56
| | | | | | | | | | | | | | | | 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.
* | Fix bug with alpha to coverage by enabling depth discard when using alpha to ↵clayjohn2023-10-301-4/+2
| | | | | | | | coverage
* | Only perform modelview transform on tangent and binormal when vertex shader ↵clayjohn2023-10-051-2/+1
| | | | | | | | is in local space
* | Vertex and attribute compression to reduce the size of the vertex format.clayjohn2023-10-052-56/+105
|/ | | | | | | | | | | | | 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.
* Fix LightmapGI shading sometimes being unlit or blackbitsawer2023-09-201-6/+5
|
* Implement render mode fog_disabled and BaseMaterial3D setting Disable FogMilan Gruner2023-09-051-0/+10
|
* Fix missing decal mask in mobile rendererBastiaan Olij2023-08-231-0/+4
|
* Fix use of discard in shadersClay2023-07-241-2/+8
| | | | | | 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
* Merge pull request #77740 from ChibiDenDen/simplify_vulkanYuri Sizov2023-07-122-30/+17
|\ | | | | | | Replace sampler arrays with constant sampler elements, simplify and reuse code for all shaders
| * replace sampler arrays with constant sampler elementsChibiDenDen2023-06-222-30/+17
| |
* | Merge pull request #76977 from manueldun/light-shader-builtinsRémi Verschelde2023-06-092-0/+6
|\ \ | |/ |/| | | Enable the use of all supported builtins on the light shader
| * Enable the use of all builtins on the light shaderManuel Dun2023-06-082-0/+6
| | | | | | | | | | | | When using the light process in spatial shader, the built-ins work as spected, now they work in forward+, mobile and compatibility renderer.
* | Re-implement the PSSM_SPLITS debug optionclayjohn2023-04-281-1/+22
|/ | | | This uses a render_mode instead of shadow_color to avoid adding a cost to the basic shader
* Add LIGHT_IS_DIRECTIONAL built-in for spatial shadersJohan Aires Rastén2023-04-201-1/+1
|
* Use MODELVIEW_MATRIX for vertex transform when double precision is enabledJoão Pedro Braz2023-03-291-3/+1
| | | | | | | | | | | 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.
* Expose EYE_OFFSET to gdshader codeBastiaan Olij2023-02-011-1/+5
|
* Merge pull request #71455 from BastiaanOlij/fix_stereo_screen_depthRémi Verschelde2023-01-262-0/+19
|\ | | | | | | Make screen texture and depth texture work in Multiview
| * Make screen texture and depth texture work in MultiviewBastiaan Olij2023-01-252-0/+19
| |