Commit Graph

4574 Commits

Author SHA1 Message Date
Mai Lavelle 5e15586ec2 Fixes to allow object-less callables throughout Godot
This fixes #81887
2023-10-06 16:31:35 -04: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 f2ba8ec6ca
Merge pull request #81124 from bitsawer/fix_voxelgi_static_lights
Fix VoxelGI static light pairing
2023-10-06 00:24:29 +02:00
Rémi Verschelde d351d40e29
Merge pull request #82877 from tomissj2/master
Fog shader: Fix undeclared identifier `global_variables`
2023-10-05 22:51:48 +02:00
Rémi Verschelde 950139e489
Merge pull request #82546 from viksl/volumetric-fog-spot-light-artifacts
Fix cluster artifacts and negative light
2023-10-05 22:50:12 +02:00
Rémi Verschelde f02695cc04
Merge pull request #81138 from clayjohn/attribute-compression
Vertex and attribute compression
2023-10-05 22:48:55 +02:00
Rémi Verschelde 7ee2eb5c92
Merge pull request #80992 from viksl/volumetric-fog-NaN-issues
Fix volumetric fog NaN values in textures from starting at a zero Vector2.
2023-10-05 22:48:31 +02:00
tomissj2 e906eb8433
Fog Shader bugfix: 'global_variables' : undeclared identifier
If user try to use a global shader variable in a fog type shader we are getting shader error. The reason of this there is a typo in the fog.cpp. I other well working shaders types like sky the "action.global_buffer_array_variable" is "global_shader_uniforms.data". 
The investigation tracked here:
https://discord.com/channels/212250894228652034/1158918161337434172
2023-10-05 22:12:50 +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
kobewi 09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Rémi Verschelde 829d9bb6ba
Merge pull request #82451 from DarioSamo/mesh-storage-vertex-array-taa-fix
Fix mismatch between surface vertex array generation inside the function and the caller.
2023-10-05 10:08:34 +02:00
Rémi Verschelde c255acebe8
Merge pull request #81607 from Rindbee/fix-UPDATE_WHEN_VISIBLE-not-work-in-exported-project
Fix `SubViewport` with `UPDATE_WHEN_VISIBLE` not working properly in exported project
2023-10-05 10:07:16 +02:00
Rémi Verschelde ccbb91137f
Merge pull request #82766 from BastiaanOlij/fix_debanding_issue
Forgot to add debanding to config object
2023-10-04 15:45:39 +02:00
Rémi Verschelde 03ff9fedb6
Merge pull request #82101 from bruvzg/x11_gles
[X11] Add support for using EGL/GLES instead of GLX.
2023-10-04 15:35:05 +02:00
Rémi Verschelde d5db0e5032
Merge pull request #81218 from bruvzg/_temp_fs
[Native File Dialogs] Improve filter list handling, add selected filter to the callback.
2023-10-04 15:34:16 +02:00
Rémi Verschelde 5680d729f2
Merge pull request #80939 from RandomShaper/fix_onion
Revive onion skinning
2023-10-04 15:33:25 +02:00
bruvzg af00c4a54a
[X11] Add support for using EGL/GLES instead of GLX. 2023-10-04 14:15:36 +03:00
bruvzg d1aaa914f3
[macOS] Add `about_to_open` and `popup_hide` callback for the global menus, move part of logic to the PopupMenu to allow live menu modification. 2023-10-04 09:49:51 +03:00
Bastiaan Olij 480fe5767e Forgot to add debanding to config object 2023-10-04 16:24:09 +11:00
bruvzg 43e4708dff
[Native File Dialogs] Improve filter list handling, add selected filter to the callback. 2023-10-03 19:26:16 +03:00
Rémi Verschelde 9af1983af2
Merge pull request #82475 from bruvzg/ts_spacing_var
[TextServer] Store font extra spacing variations without making a full copy of font.
2023-10-03 17:23:43 +02:00
Rémi Verschelde 24c166dfe2
Merge pull request #81619 from Chaosus/fix_shader_const
Re-allows constants in global space to be initialized with function call
2023-10-03 17:20:23 +02:00
bruvzg 72e2e47059
[DisplayServer] Add method to estimate window title bar size. 2023-10-03 16:13:52 +03:00
Pedro J. Estébanez 77d8372285 Fix drawing of viewports without swapping buffers 2023-10-03 13:51:47 +02:00
viksl 8a2d345a85 Fixes spotlight's cluster artifacts and negative light. 2023-10-01 09:13:30 +02:00
Rémi Verschelde 44e399ed5f
Merge pull request #82534 from DarioSamo/fsr2-exposure-fix
Use internal texture at internal resolution for calculating luminance (FSR2).
2023-09-29 19:47:53 +02:00
Dario 1e2c28b7fe Use internal texture at internal resolution for calculating luminance.
Fixes an error where the exposure was calculated incorrectly if a lower resolution scale was used while using FSR2. Now the behavior is consistent regardless of the resolution scale.
2023-09-29 13:41:40 -03:00
Hugo Locurcio d6d640f158
Disable `lightmapper_rd` module in non-editor builds (and in Android editor)
This is consistent with `xatlas_unwrap`, which isn't enabled in non-editor
builds and the Android editor either. There is currently no way to
use the lightmapper in a non-editor build anyway, as it doesn't expose
any methods (and even if there was, there would be no way to perform
UV2 unwrapping in the exported project).

This reduces binary size of a stripped Linux x86_64 export template
build by ~164 KB.

This also moves the PrimitiveMesh texel size project setting
so that it's defined when the module is disabled,
and adds a property hint to it.
2023-09-29 11:30:15 +02: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
bruvzg 4a167fc740
[TextServer] Store font extra spacing variations without making a full copy of font. 2023-09-28 10:45:09 +03:00
clayjohn cb7200b028 Implement 3D shadows in the GL Compatibility renderer 2023-09-28 09:39:26 +02:00
Yuri Sizov 3c8465c240 Merge pull request #82445 from RandomShaper/fix_fsr2_little_thing
Avoid trying to free null RIDs in FSR2 teardown
2023-09-27 19:08:08 +02:00
Yuri Sizov 54c7a26a3b Merge pull request #81356 from pkdawson/rd-compat
Add compatibility methods for RenderingDevice BarrierMask
2023-09-27 19:07:55 +02:00
Dario c3d1b52254 Fix mismatch between surface vertex array generation inside the function and the caller.
Fixes #82446.
2023-09-27 14:02:48 -03:00
Patrick Dawson d80dc0ff58 Add compatibility methods for RenderingDevice BarrierMask 2023-09-27 10:22:03 -04:00
Pedro J. Estébanez f84c3d4477 Avoid trying to free null RIDs in FSR2 teardown 2023-09-27 16:07:41 +02:00
bitsawer 898d1a2d5f Fix errors when freeing GPUParticles 2023-09-27 11:46:31 +03:00
Rémi Verschelde 3228f73127
Merge pull request #82413 from Calinou/3d-editor-gizmos-ignore-fog
Make 3D editor gizmos and debug shapes ignore fog
2023-09-27 09:21:35 +02:00
Rémi Verschelde 7da8f08ff1
Merge pull request #82411 from Calinou/editor-audiostreamrandomizer-tweak-property-order
Tweak property order in the inspector for AudioStreamRandomizer
2023-09-27 09:21:11 +02:00
Hugo Locurcio fcbf7011cc
Make 3D editor gizmos and debug shapes ignore fog
This makes them easier to see in their intended colors in scenes with fog.
2023-09-27 00:54:57 +02:00
Hugo Locurcio 50f6c578c6
Tweak property order in the inspector for AudioStreamRandomizer
This puts non-foldable properties above foldable properties, which
matches the usual expectation in the editor inspector.
2023-09-27 00:19:29 +02:00
Mikael Hermansson f1a9d8b5a5 Moved `face_index` field in 3D `RayResult` to end of struct 2023-09-26 23:18:16 +02:00
Rémi Verschelde 92ac0e54fe
Merge pull request #82353 from RPicster/optimizing-glow
Optimizing glow behaviour
2023-09-26 16:36:53 +02:00
Rémi Verschelde da91cf9367
Merge pull request #82347 from SaracenOne/dir_access_checks
Add error checks for DirAccess creation
2023-09-26 16:36:47 +02:00
Rémi Verschelde 2c8c7b95aa
Merge pull request #82313 from AThousandShips/null_check_servers
[Servers] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-26 13:45:31 +02:00
Rémi Verschelde eefe161549
Merge pull request #81610 from Ughuuu/add-angle-limits-and-motor-to-pin-joint-2d
Update PinJoint2D API with angle limits and motor speed
2023-09-26 13:45:07 +02:00
Rémi Verschelde 1e4165ac60
Merge pull request #78757 from Crimzoth/RigidBody3D-mass-issue-fix
Correctly set mass for a rigid body with custom inertia and center of mass
2023-09-26 13:44:36 +02:00
Raffaele Picca de42258154 Optimizing glow behaviour 2023-09-26 11:56:28 +02:00
Dragos Daian 0fcfb07246 Update PinJoint2D API with angle limits and motor speed
add enabled methods for motor and angular limits
use correct name to get joint
update copyright
2023-09-26 10:29:23 +02:00
Rémi Verschelde e25408df4b
Merge pull request #81381 from bitsawer/fix_shader_include_markers
Fix shader language preprocessor include marker handling
2023-09-26 08:19:40 +02:00
Saracen 3f4513d4de Add error checks for DirAccess creation. 2023-09-26 03:07:43 +01:00
smix8 0ee7e3102b Add 2D navigation mesh baking
Adds 2D navigation mesh baking.
2023-09-25 19:48:14 +02:00
A Thousand Ships fdd3d36c6d [Servers] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-25 18:45:30 +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
Rémi Verschelde 64cde8ae8b
Merge pull request #82168 from Supreeeme/ext-fix
Expose `texture_create_from_extension` to GDExtension
2023-09-24 23:34:06 +02:00
Rémi Verschelde 8788b20ea0
Merge pull request #81775 from darksylinc/matias-taa-msaa
Fix massive validation errors when enabling TAA + MSAA
2023-09-24 23:32:31 +02:00
Shawn Wallace b12ed82c04 Expose texture_create_from_extension to GDExtension 2023-09-23 16:57:12 -04:00
Rémi Verschelde 525c72ec6d
Merge pull request #81350 from DarioSamo/mipmap-bias
Fix mipmap bias behavior by refactoring how samplers are created by Material Storage.
2023-09-22 22:04:22 +02:00
Rémi Verschelde fe5b1c8d49
Merge pull request #82043 from AThousandShips/exclude_fix
Fix missing clear for some `set_exclude*` query parameter methods
2023-09-21 14:27:46 +02:00
A Thousand Ships 95eafcba4c Fix missing clear for some `set_exclude*` query parameter methods 2023-09-21 13:30:57 +02: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
Rémi Verschelde 3cce730975
Merge pull request #81951 from bitsawer/fix_lightmap_shader_indexing
Fix LightmapGI shading sometimes being unlit or black
2023-09-20 18:55:17 +02:00
Rémi Verschelde 52104ded69
Merge pull request #81298 from mihe/soft-body-rendering-handler
Fix bindings of `PhysicsServer3DRenderingServerHandler`
2023-09-20 15:18:24 +02:00
Rémi Verschelde cc7227c98c
Merge pull request #81508 from bluenote10/bugfix/fix_audio_stream_generator
Alternative minimal fix for audio stream generators
2023-09-20 13:09:28 +02:00
Mikael Hermansson ee9f41a12d Fix bindings of `PhysicsServer3DRenderingServerHandler` 2023-09-20 12:24:32 +02:00
bitsawer dda8846dea Fix LightmapGI shading sometimes being unlit or black 2023-09-20 01:41:32 +03: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
Rémi Verschelde 04d2aa61a3
Merge pull request #81641 from MewPurPur/bus-go-brrrr-2
Add a `bus_renamed` AudioServer signal
2023-09-17 14:47:29 +02:00
Matias N. Goldberg 4de0ed4adf Fix massive validation errors when enabling TAA + MSAA
TAA + MSAA would make Godot request unnecessary flags for an MSAA
velocity texture. flags that were not even actually needed.

This was causing:
 1. Unsupported GPUs to fail completely (e.g. Intel Arc 770)
 2. Wrong codepaths to be followed (causing validation errors, possibly
crashes or glitches)
 3. Unnecessary performance impact in all GPUs.

See
https://github.com/godotengine/godot/issues/71929#issuecomment-1722274359
2023-09-16 19:31:04 -03:00
MewPurPur f29b6e73c2 Add a bus_renamed AudioServer signal 2023-09-15 13:02:03 +03:00
Yuri Roubinski d3d20f15bf Re-allows constants in global space to be initialized with function call 2023-09-13 21:04:29 +03:00
风青山 59d0fdbacc Fix `SubViewport` with `UPDATE_WHEN_VISIBLE` not working properly in exported project
The issue is primarily due to `RSG::texture_storage->render_target_was_used()`
returning inconsistent results in the editor and exported projects.
2023-09-13 16:02:10 +08:00
Bastiaan Olij 3806d964e3 Fix issue with OpenXR environment blend mode not being applied properly 2023-09-13 14:07:23 +10:00
Fabian Keller 4eac548202 bugfix for audio stream generators getting killed accidentally by audio server 2023-09-10 09:22:21 +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 7663c69922
Merge pull request #81388 from YuriSizov/core-gdvirtual-but-less-confused-about-itself
Extract `ScriptInstance` into its own file to simplify includes
2023-09-07 13:53:45 +02:00
Rémi Verschelde 698df41dac
Merge pull request #81333 from dalexeev/fix-rd-pcbs-attachments-setter
Fix `RDPipelineColorBlendState.attachments` setter
2023-09-07 13:52:33 +02:00
Yuri Sizov d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Dario 9b91750fb1 Fix mipmap bias behavior by refactoring how samplers are created by Material Storage.
Introduces a new structure to store samplers created with certain parameters instead of storing a 'custom' set of samplers. Allows viewports to correctly configure the mipmap bias and use it when rendering the scene.
2023-09-06 11:24:19 -03:00
bitsawer 3c042fb99f Fix shader language preprocessor include marker handling 2023-09-06 16:57:40 +03:00
Yuri Sizov c5562d1058 Merge pull request #81288 from darksylinc/matias-index16
Use 16-bit index buffers instead of 32 when unnecessary
2023-09-06 14:49:20 +02:00
Milan Gruner 45a33cc749 Implement render mode fog_disabled and BaseMaterial3D setting Disable Fog 2023-09-05 18:15:02 +02:00
Danil Alexeev f2f0375e10
Fix `RDPipelineColorBlendState.attachments` setter 2023-09-05 15:29:56 +03:00
Rémi Verschelde f05c7f6d68
Merge pull request #81239 from Malcolmnixon/xr-tracking-signals
Add XR tracking state-change signals
2023-09-04 09:08:59 +02:00
Rémi Verschelde dd4fae6162
Merge pull request #74809 from Chaosus/completion_color_xyzw
Add coloring for completion of vector components
2023-09-04 09:06:57 +02:00
Matias N. Goldberg 53837adc00 Use 16-bit index buffers instead of 32 when unnecessary 2023-09-03 19:59:10 -03:00
Malcolm Nixon 22de1b31b5 Added XR tracking-state change signals
Add "pose_lost_tracking" signal to XRPositionalTracker.
Add "tracking_changed" signal to XRNode3D.
2023-09-03 12:17:16 -04:00
Rémi Verschelde aa9f3583e8
Merge pull request #80933 from ChibiDenDen/clear_color_mobile_fix
Fix clear color on mobile renderer
2023-08-31 08:53:41 +02:00
Yuri Rubinsky 35802374ac Add coloring for completion of vector components 2023-08-30 21:13:25 +03:00
bitsawer 836705d7a9 Reset SDFGI when changing editor scene tabs 2023-08-30 19:50:05 +03: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
ChibiDenDen df25e87842 fix clear color on mobile renderer 2023-08-30 00:57:59 +03:00
bitsawer 5e22ded4c9 Fix VoxelGI static light pairing 2023-08-29 14:58:56 +03:00
Rémi Verschelde 7792f9e6ef
Merge pull request #81081 from RandomShaper/fixup_cluster_special
Fixup special case of cluster render
2023-08-29 12:47:07 +02:00
Rémi Verschelde a6c72f9829
Merge pull request #81074 from DarioSamo/flip-motion-vectors
Flip convention of motion vectors.
2023-08-29 12:46:44 +02:00
Rémi Verschelde 9d74c24232
Merge pull request #80723 from DarioSamo/debug-motion-vectors
Improve visual feedback when using the motion vectors debug view option
2023-08-29 12:44:45 +02:00
Rémi Verschelde 4b69e8be85
Merge pull request #80688 from DarioSamo/gpu-particles-motion-vectors
Add motion vector support for GPU 3D Particles
2023-08-29 12:43:58 +02:00