Commit Graph

3481 Commits

Author SHA1 Message Date
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
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
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
Matias N. Goldberg d5f913ce1d Opt-in to Vulkan features we actually use. 2023-09-24 21:05:48 -03:00
Riteo 4fd6777cf4 Linux/OpenGL: don't force vsync in the editor
I couldn't tell whether this has an actual purpose and it feels more
like a debug remnant.

We also need to be able to disable vsync in the editor for the WIP
Wayland backend (in the EGL driver) as it does manual frame throttling.
2023-09-24 04:36:58 +02:00
Shawn Wallace b12ed82c04 Expose texture_create_from_extension to GDExtension 2023-09-23 16:57:12 -04:00
bruvzg 1887a9df19
[macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
Co-authored-by: Riteo <riteo@posteo.net>
2023-09-21 14:21:00 +03:00
Pedro J. Estébanez bda6fc5d2f Polish a few things in Vulkan RD 2023-09-19 18:10:46 +02:00
Rémi Verschelde 9a1b4f338b
Merge pull request #81160 from paddy-exe/canvas-uv-world-space
Add render mode to use world coordinates in canvas item shader
2023-09-19 09:03:18 +02:00
Matias N. Goldberg cfeccc2146 Fix validation error when using pipeline cache control
PR #80296 introduced a regression because it checks if the
VK_EXT_pipeline_creation_cache_control extension has been enabled before
using it, but turns out the process is a bit more convoluted than that
(a Vulkan driver may support the extension but then say the feature is
not supported)
2023-09-16 18:59:04 -03:00
Yuri Sizov 48e1c19dea Merge pull request #81583 from AThousandShips/null_check_drivers_platform
[Drivers,Platform] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-15 19:48:18 +02:00
bitsawer af7b870e2a Improve GLES3 scene renderer compatibility with older devices 2023-09-14 16:34:29 +03:00
A Thousand Ships 3565d1bf7e [Drivers,Platform] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-12 20:13:32 +02:00
Rémi Verschelde 3815b2f98e
Merge pull request #81315 from conorlawton/z-billboard-y-velocity-no-scale
Fix z-billboard + y to velocity transform alignment to correctly respect non-uniform scale
2023-09-08 23:14:27 +02:00
Conor Lawton 9ecafcc491 Fixed z-billboard-y-velocity to correctly respect non-uniform scale instead of averaging scale 2023-09-08 20:01:57 +01:00
Rémi Verschelde cfd292939c
Haiku: Remove remnants of past WIP platform port
The Haiku platform port was never finalized, and moved to a separate repo in
Godot 3.2 days: https://github.com/godotengine/godot-platform-haiku

Sadly it didn't garner more interest there and is bitrotting. It was never
ported to Godot 4 so the bits of Haiku support left in Mono aren't useful.
2023-09-07 16:37:51 +02:00
Rémi Verschelde 8de6405288
UWP: Remove platform port, needs to be redone from scratch for 4.x
The UWP platform port was never ported to the Godot 4.0+ API,
and it's now accumulating bitrot as it doesn't compile, and thus
we no longer propagate platform changes in it.

So we finally remove to acknowledge this state. There's still some
interest in reviving the UWP port eventually, especially as support
for Direct3D 12 will soon be merged, but when that happens it will
be easiest to redo it from scratch.
2023-09-07 15:01:59 +02:00
Rémi Verschelde 8f3042ed46
Merge pull request #81395 from jsjtxietian/fix-clear-color-alpha-value-affect-2d-editor-in-compatibility
Fix clear color's alpha value will affects 2D editor in Compatibility mode
2023-09-07 13:54:10 +02:00
jsjtxietian e21a485dbc Fix clear color's alpha value will affects 2D editor in Compatibility mode
When the rt's transparency is false, force the alpha of the clear color to one
2023-09-07 12:56:34 +08:00
Milan Gruner 45a33cc749 Implement render mode fog_disabled and BaseMaterial3D setting Disable Fog 2023-09-05 18:15:02 +02:00
Rémi Verschelde 497ca8c433
Merge pull request #80296 from RandomShaper/overhaul_vk_pso_cache
Enhance Vulkan PSO caching
2023-09-03 00:20:40 +02:00
Patrick c98ab5aba3 Add option to use world coordinates in canvas item shader
By using the render mode `world_vertex_coords` you can automatically use the vertex coordinates in world space
2023-08-30 15:32:18 +02:00
Rémi Verschelde 56b13b6865
Merge pull request #81001 from RandomShaper/win_safe_save
Make Windows' safe save more resilient
2023-08-30 12:16:06 +02:00
Pedro J. Estébanez bcf33cfbd1 Enhance Vulkan PSO caching 2023-08-30 12:00:54 +02:00