Commit Graph

3503 Commits

Author SHA1 Message Date
Rémi Verschelde 261fe7ce6a
Merge pull request #83704 from clayjohn/misc-mesh-fixes
Some more fixes for compressed meshes
2023-10-24 10:54:23 +02:00
Rémi Verschelde 64f80295e5
Merge pull request #83199 from Repiteo/texture-storage-default-scale
Fix `TextureStorage` not assigning default scale
2023-10-24 10:53:56 +02:00
clayjohn 8f9cd4e1e3 Some more fixes for compressed meshes
This cleans up a few more cases of uint32_t->uint64_t

Importantly this fixes an edge case in the axis-angle compression by
using the pre-existing Basis methods instead
2023-10-24 09:38:12 +02:00
Rémi Verschelde 50d17f6b8c
Merge pull request #83613 from clayjohn/surface_upgrade_tool
Add an editor tool to automatically upgrade and re-save meshes
2023-10-24 00:10:37 +02:00
clayjohn 318ef8461f Implementation of tool to automatically upgrade and re-save meshes 2023-10-23 22:39:48 +02:00
Rémi Verschelde 814de86494
Merge pull request #83493 from clayjohn/light-pair-bug
Ensure that only visible paired lights are used
2023-10-23 12:40:07 +02:00
David Snopek 58775a6c67 Fix `GPUParticles3D` on the Meta Quest 2 with OpenGL renderer 2023-10-21 16:49:24 -05:00
Pedro J. Estébanez 7e598642d2 Bump version of Vulkan RD binary shader format 2023-10-18 17:45:10 +02:00
Clay 623a050269 Ensure that only visible paired lights are used
This is a longstanding issue in both the Mobile and GL Compatibility renderer.

Meshes pair with all lights that touch them, and then at draw time, we send all paired lights indices to the shader (even if that light isn't visible). The problem is that non-visible lights aren't uploaded to the GPU and don't have an index. So we end up using a bogus index
2023-10-17 13:02:46 +02:00
Rémi Verschelde 348c1ff96b
Merge pull request #83266 from bruvzg/linux_case_check
[Linux] Implement DirAccess.is_case_sensitive for EXT4 and F2FS.
2023-10-13 22:19:24 +02:00
Rémi Verschelde a19f05604e
Merge pull request #83252 from mrjustaguy/opengl-fade-fix
Fix OpenGL Directional Shadow Last Split Fading
2023-10-13 22:18:13 +02:00
bruvzg 54eae6221a
[Linux] Implement DirAccess.is_case_sensitive for EXT4 and F2FS. 2023-10-13 15:48:03 +03:00
Rémi Verschelde 51f81e1c88
Merge pull request #82957 from bruvzg/fs_case_check
Add method to check if filesystem is case sensitive.
2023-10-13 12:55:35 +02:00
mrjustaguy 09a2a7c54e Remove PSSM Fade 2023-10-13 12:01:23 +02:00
Thaddeus Crews 9ee41c707e
Fix texture storage not assigning default scale
• Print errors if an invalid value is passed
2023-10-12 12:02:24 -05:00
Rémi Verschelde b1371806ad
Merge pull request #82431 from bitsawer/fix_gpuparticles_free
Fix errors when freeing GPUParticles
2023-10-12 00:22:33 +02:00
Rémi Verschelde 775ab4e983
Merge pull request #83141 from BastiaanOlij/fix_shadow_size
Fix compatibility shadow size not being initialised
2023-10-11 18:30:55 +02:00
Bastiaan Olij 59cd86f89d Fix compatibility shadow size not being initialised 2023-10-11 22:02:38 +11:00
Rémi Verschelde 4b7cc99bc1
Merge pull request #79169 from reduz/debug-canvas-item-redraw
Debug CanvasItem redraw
2023-10-11 08:40:05 +02:00
Rémi Verschelde 55282ddc10
Merge pull request #79527 from QbieShay/qbe/particles-rework
Particle internal refactor and additions for more artistic control
2023-10-10 22:48:50 +02:00
QbieShay c228fe1a0d Particle internal refactor and additions for more artistic control
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: Mew Pur Pur <85438892+MewPurPur@users.noreply.github.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2023-10-10 20:03:35 +02:00
Rémi Verschelde 49495293c7
Merge pull request #82973 from dsnopek/gdextension-linux-favor-local-symbols
On Linux, favor local symbols when loading a shared library
2023-10-10 12:33:06 +02:00
Rémi Verschelde a28dab7e82
Merge pull request #79711 from adamscott/web-non-blocking-main-thread
Add `proxy_to_pthread` option to `platform=web`
2023-10-09 23:22:22 +02:00
Adam Scott 78c2a08fae
Add `proxy_to_pthread` option to `platform=web`
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2023-10-09 11:50:01 -04:00
Rémi Verschelde a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
bruvzg 97bcd8a631 Add method to check if filesystem is case sensitive. 2023-10-09 11:00:15 +03:00
A Thousand Ships f18aa00e85 Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-10-08 17:23:33 +02:00
A Thousand Ships 034c0f1624 Replace `sanity` with `safety` for checks 2023-10-08 16:22:24 +02:00
David Snopek 7f4e700bf7 On Linux, favor local symbols when loading a shared library 2023-10-07 11:06:56 -05:00
Rémi Verschelde c05f521e16
Merge pull request #82892 from clayjohn/tangent-binormal-transform
Only perform modelview transform on tangent and binormal when vertex shader is in local space
2023-10-06 12:53:05 +02:00
clayjohn af1d81d95a Only perform modelview transform on tangent and binormal when vertex shader is in local space 2023-10-05 22:08:36 -06:00
clayjohn 04846c1d6d Avoid default fallback material when using world_vertex_coords
This avoids z-fighting between the opaque shader and the depth prepass shader
2023-10-05 19:11:48 -06:00
Rémi Verschelde 68926d5919
Merge pull request #81827 from darksylinc/matias-vkfeatures-opt-in
Opt-in to Vulkan features we actually use.
2023-10-05 22:49:21 +02:00
clayjohn 51ed3aef63 Vertex and attribute compression to reduce the size of the vertex format.
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.
2023-10-05 12:02:23 -06:00
Rémi Verschelde b42aa5ad9d
Merge pull request #81575 from bitsawer/fix_gles_instancing
Fix GLES3 instanced rendering color and custom data defaults
2023-10-05 10:06:39 +02:00
Rémi Verschelde 146d87c230
Merge pull request #82679 from lyuma/workaround_xr_off_crash
Workaround crash due to null shader when running XR project with `--xr-mode` off
2023-10-04 15:36:22 +02:00
Lyuma 1d34033143 Workaround crash due to null shader when running XR project with --xr-mode off 2023-10-02 06:12:01 -07:00
Thaddeus Crews e9b2af91cf
check_c_headers from tuple array to dictionary 2023-10-01 14:09:39 -05:00
bitsawer 6f88ed73be Fix GLES3 instanced rendering color and custom data defaults 2023-09-29 11:44:37 +03:00
Yuri Sizov 7ae0fa1083 Merge pull request #77496 from clayjohn/GLES3-shadows
Implement 3D shadows in the GL Compatibility renderer
2023-09-28 20:03:53 +02:00
clayjohn cb7200b028 Implement 3D shadows in the GL Compatibility renderer 2023-09-28 09:39:26 +02:00
SlugFiller d468582ef8 Fix build on MSVC 2017 2023-09-27 19:49:59 +03:00
bitsawer 898d1a2d5f Fix errors when freeing GPUParticles 2023-09-27 11:46:31 +03:00
A Thousand Ships 517e9f8aef [Modules] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-26 16:44:52 +02:00
Rémi Verschelde 36945dad07
Merge pull request #82359 from bitsawer/add_gles3_device_cache_key
Add device info to GLES3 shader cache key hash
2023-09-26 16:36:57 +02:00
Rémi Verschelde a4bca12336
Merge pull request #82304 from akien-mga/windows-remove-redundant-MSVC-define
Windows: Remove `MSVC` define redundant with `_MSC_VER`
2023-09-26 13:45:26 +02:00
Rémi Verschelde 48bee5c8ef
Merge pull request #82221 from Riteo/linux-ogl-no-vsync-override
Linux/OpenGL: Don't force vsync in the editor
2023-09-26 13:45:12 +02:00
bitsawer f1062f25eb Add device info to GLES3 shader cache key hash 2023-09-26 13:01:31 +03:00
Rémi Verschelde 814ab59c37
Windows: Remove `MSVC` define redundant with `_MSC_VER`
Cleanup unused MSVC code in FileAccessUnix.
2023-09-26 11:11:45 +02:00
Dario 057367bf4f Add FidelityFX Super Resolution 2.2 (FSR 2.2.1) support.
Introduces support for FSR2 as a new upscaler option available from the project settings. Also introduces an specific render list for surfaces that require motion and the ability to derive motion vectors from depth buffer and camera motion.
2023-09-25 10:37:47 -03:00