Commit graph

4365 commits

Author SHA1 Message Date
Yuri Sizov
65cc4db0ae Merge pull request #79100 from KoBeWi/[filter,_filter,_filter,_filter,_filter,_filter]
Allow more hint types for uniform arrays
2023-07-12 14:18:34 +02:00
Rémi Verschelde
7030ac555f
Merge pull request #79270 from clayjohn/particle-trails-error
Unify error condition for particles trail lifetime
2023-07-10 10:38:34 +02:00
clayjohn
78ecdb17f9 Unify error condition for particles trail lifetime 2023-07-10 10:17:27 +02:00
Rémi Verschelde
46cd84b362
Merge pull request #78839 from lewiji/normal_roughness_mobile_fix
Fix invalid shader compilation when using `hint_normal_roughness_texture` in mobile backend
2023-07-08 18:19:49 +02:00
Rémi Verschelde
ea3aaeac05
Merge pull request #78624 from puchik/canvas-background-specular-ghosting
Clear specular buffer if sky mode is canvas and screen space effects are used
2023-07-08 18:16:05 +02:00
Rémi Verschelde
b2ada1b690
Merge pull request #78972 from bitsawer/fix_shader_float_precision
Fix shader language float literal precision truncation
2023-07-07 08:32:09 +02:00
Rémi Verschelde
25ec523596
Merge pull request #78906 from Chaosus/shader_allow_hex_uint
Fix using uint suffix at the hex number declaration in shaders
2023-07-07 08:29:17 +02:00
Rémi Verschelde
b8f28e287e
Merge pull request #78902 from nklbdev/Fix_wrong_type_casting_in_RenderingServer
Fix wrong type casting for octahedral tangents
2023-07-07 08:28:52 +02:00
smix8
f7ebce2626 Mark NavigationServer3D.region_bake_navigation_mesh() as deprecated
Marks NavigationServer3D.region_bake_navigation_mesh() as deprecated.
2023-07-07 02:30:14 +02:00
kobewi
8ae2e6681e Allow more hint types for uniform arrays 2023-07-06 15:05:26 +02:00
bitsawer
356297f909 Fix shader language float literal precision truncation 2023-07-03 12:48:33 +03:00
Yuri Roubinski
1994c25701 Fix using uint suffix at the hex number declaration in shaders 2023-07-01 14:33:48 +03:00
nklbdev
c022f52f11 Fix wrong type casting for octahedral tangents 2023-07-01 15:15:48 +05:00
clayjohn
35ed7c770b Initialize particles instance buffer in case it is used before being updated 2023-06-29 13:24:40 -07:00
lewiji
2a93681334 Return shader parse error when using 'hint_normal_roughness_texture' and not using the Forward+ backend 2023-06-29 16:18:31 +01:00
smix8
8bd14e5ca3 Add missing default Callables for new NavigationServer geometry parse and bake functions
Adds missing default Callables for new NavigationServer geometry parse and bake functions.
2023-06-25 19:08:50 +02:00
K. S. Ernest (iFire) Lee
39dfa8436e Varying mismatch causing shaders to fail. 2023-06-23 21:36:38 -07:00
Arman Elgudzhyan
af9d1743f3 Clear specular buffer if bg mode is canvas and ss effects are used
Explicitly clear the separate specular buffer when the background mode is canvas and screen space effects (and thus a separate specular buffer) are used.
2023-06-23 12:16:52 -07:00
Rémi Verschelde
dbcbba5575
Merge pull request #78575 from brno32/bind-light-param-intensity
Binding LIGHT_PARAM_INTENSITY in RenderingServer
2023-06-23 08:48:20 +02:00
Alex Drozd
d9cc22af8f Binding LIGHT_PARAM_INTENSITY in RenderingServer 2023-06-22 23:29:47 +02:00
bitsawer
ef00de99b4 Fix error spam when a mesh with bone weights has an invalid skeleton 2023-06-22 15:58:52 +03:00
ChibiDenDen
35715e510f replace sampler arrays with constant sampler elements 2023-06-22 01:11:57 +03:00
Markus Sauermann
890fdd56df Code simplifications
CPPcheck found most of them.

no need to assign the variable twice:
- AnimationTrackEditTypeAudio
- SSEffects

variable is assigned in all if-else clauses:
- EditorHelp
- AndroidInputHandler
- MenuBar
- ShaderCompiler

same if clause:
- ItemList

clearing an empty bitfield has no effect:
- Viewport
2023-06-21 22:37:26 +02:00
Bastiaan Olij
952b4b3f38 Apply reprojection in multiview for our cluster lookup 2023-06-21 11:17:01 +10:00
Rémi Verschelde
dca1e0bef7
Merge pull request #78436 from BastiaanOlij/fix_stereo_fog
Fix volumetric fog in stereo by projection vertex in combined space
2023-06-20 09:21:39 +02:00
Bastiaan Olij
66272ea26e Fix volumetric fog in stereo by projection vertex in combined space 2023-06-20 14:36:14 +10:00
Wilson E. Alvarez
d19c376d2e
Fix AudioEffectRecord circular reference 2023-06-19 18:13:01 -04:00
Rémi Verschelde
7ff0a3086d
Merge pull request #76138 from rburing/ccd_against_moving
Improve rigid body CCD against moving bodies
2023-06-19 22:34:16 +02:00
bitsawer
dab0871d41 Fix invalid RID errors when freeing a mesh with blend shapes 2023-06-19 11:07:15 +03:00
smix8
ae9dd47d0c Add agent pause mode to NavigationServer
Adds agent pause mode to NavigationServer.
2023-06-18 12:37:03 +02:00
smix8
c4f544f802 Add ProjectSettings navigation map default up
Adds ProjectSettings navigation map default up.
2023-06-17 11:29:17 +02:00
Rémi Verschelde
014b395ef3
Merge pull request #78262 from bruvzg/ds_window_focus
[DisplayServer] Add method to check if native window is focused.
2023-06-16 10:19:33 +02:00
bruvzg
28db3c7158 [DisplayServer] Add method to check if native window is focused. 2023-06-16 10:27:52 +03:00
clayjohn
36a005fafc
Add RENDERING_INFO parameters to GL Compatibility renderer
This also fixes RENDERING_INFO_TOTAL_PRIMITIVES_IN_FRAME for the RD renderers as it was incorrectly reporting vertex/index count at times

This also adds memory tracking to textures and buffers to catch memory leaks.

This also cleans up some memory leaks that the new system caught.
2023-06-16 09:10:00 +02:00
Rémi Verschelde
6fb391bc23
Fix various typos with codespell
And ignore some false positives introduced by recent versions of codespell.
2023-06-16 08:45:35 +02:00
Rémi Verschelde
0da20d019e
Merge pull request #77412 from smix8/fix_threaded_navmesh_baking_4.x
Fix for threaded NavigationMesh baking under new thread guards
2023-06-15 10:49:58 +02:00
Rémi Verschelde
754a52a4ab
Merge pull request #78201 from smix8/navmesh_cell_height_4.x
Fix `cell_height` for navigation meshes
2023-06-14 09:27:33 +02:00
Rémi Verschelde
16c2fede71
Merge pull request #78200 from prominentdetail/patch-3
Properly handle wireframe mode in RendererRD pipeline cache
2023-06-14 09:27:10 +02:00
Rémi Verschelde
e0651ed4b5
Merge pull request #78199 from clayjohn/detect_3d
Ensure that "detect 3D" is only called when using 3D shaders
2023-06-14 09:26:47 +02:00
Rémi Verschelde
41776634b6
Merge pull request #78161 from BastiaanOlij/expose_texture_native_handle
Expose `RD::texture_get_native_handle`
2023-06-14 09:25:59 +02:00
Alex
f74464b767
Properly handle wireframe mode in RendererRD pipeline cache
Makes wireframe get cached properly so that it doesn't keep being recreated.
Fixes #76237.
2023-06-14 09:14:34 +02:00
Bastiaan Olij
6dd47e232b Expose RD::texture_native_handle 2023-06-14 09:58:08 +10:00
smix8
ee14b010ac Fix for threaded NavigationMesh baking under new thread guards
Fixes threaded NavigationMesh baking under new SceneTree thread guards that blocked the process.
2023-06-14 01:53:37 +02:00
smix8
180a5cded1 Fix cell_height for navigation meshes
Fixes `cell_height` for navigation meshes.
2023-06-13 23:24:32 +02:00
clayjohn
0b7e2dfdfc Ensure that "detect 3D" is only called when using 3D shaders 2023-06-13 13:20:11 -07:00
Aaron Franke
1e6f30e6bd
Set both texture format overrides to false by default 2023-06-12 11:52:02 -05:00
Rémi Verschelde
e208cdb170
Merge pull request #78081 from smix8/obstacle_api_update_4.x
Update NavigationObstacle API
2023-06-12 17:10:28 +02:00
Rémi Verschelde
2d6b880987
i18n: Sync translations with Weblate (now tracking 4.1 strings) 2023-06-12 14:57:08 +02:00
smix8
c1fc331b88 Update navigation obstacle API
Updates navigation obstacle API.
2023-06-12 14:26:45 +02:00
kleonc
bbb2a889d8 Fix Y-sort modulate for top-most Y-sorted CanvasItem 2023-06-12 13:33:26 +02:00
Bastiaan Olij
d9eb9665da Draw frustum splices ontop of direction shadow atlas for debug purposes 2023-06-11 11:48:11 +10:00
Aaron Franke
944fbce347
Enable S3TC_BPTC but not ETC2_ASTC by default 2023-06-09 11:38:29 -05:00
Rémi Verschelde
7c71844999
Merge pull request #77703 from RandomShaper/fix_vol_fog_thingy
Fix management of life cycle of vol. fog related uniform sets
2023-06-09 11:05:11 +02:00
Rémi Verschelde
9ce42d176d
Merge pull request #76977 from manueldun/light-shader-builtins
Enable the use of all supported builtins on the light shader
2023-06-09 11:04:46 +02:00
Rémi Verschelde
166643df32
Merge pull request #74937 from bitsawer/fix_uniform_storage
Fix shader uniform storage conversions and crash
2023-06-09 11:04:16 +02:00
Manuel Dun
e2321c21db Enable the use of all 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.
2023-06-08 14:14:14 -04:00
bruvzg
08e8ff371d
Implement keyboard_get_label_from_physical method. 2023-06-08 10:13:31 +03:00
Hugo Locurcio
0f82a0f569
Document the InitialAction enum in RenderingDevice
This also improves the documentation for the FinalAction enum,
and fixes an incorrect comment in the RenderingDevice header.
2023-06-08 03:54:38 +02:00
Rémi Verschelde
46c4068821
Merge pull request #77170 from lawnjelly/scu_build_master
Add support for single compilation unit builds
2023-06-06 17:58:09 +02:00
lawnjelly
b69c8b4791 Single Compilation Unit build.
Adds support for simple SCU build (DEV_ENABLED only).
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-06-06 15:36:51 +01:00
Yuri Sizov
ed63b9ea23
Merge pull request #77839 from mihe/physics-engine-restart
Change the "Physics Engine" project settings to prompt a restart
2023-06-06 12:46:35 +02:00
Mikael Hermansson
4f9f4796f2 Change the "Physics Engine" project settings to prompt a restart 2023-06-04 17:24:42 +02:00
Arman Elgudzhyan
7bcc849143 Use depth pass mode with normals if required even if Environment is null
If using normal buffer debugging or if the normal texture was used, we should use PASS_MODE_DEPTH_NORMAL_ROUGHNESS regardless of whether there is a valid Environment or not. Otherwise, shaders reading the normal texture will not work without a valid Environment (and possibly other problems).
2023-06-03 07:56:47 -07:00
Pedro J. Estébanez
f08f67308e Fix management of life cycle of vol. fog related uniform sets 2023-05-31 19:54:28 +02:00
bitsawer
23c375d6b4 Fix shader uniform storage conversions and crash 2023-05-29 15:17:13 +03:00
bitsawer
67038471ff Fix shader preprocessor cyclic include handling 2023-05-29 12:05:22 +03:00
Yuri Sizov
c87dc07fdd
Merge pull request #77514 from bruvzg/fix_dup_breaks
[TextServer] Prevent duplicate line breaks on virtual spaces when line width is significantly smaller than character width.
2023-05-27 17:49:49 +02:00
Yuri Sizov
f6dcd7f51a
Merge pull request #75181 from dalexeev/fix-light-only-mode
Fix "Light Only" mode of `CanvasItemMaterial`
2023-05-27 17:28:29 +02:00
Allen Pestaluky
4e19f34856 Changed Subtract blend mode of Forward+ and Mobile renderers to match behaviour of the Godot 3 and Compatibility renderers
The OpenGL implementation has used GL_FUNC_REVERSE_SUBTRACT for a long time, but the new RenderingDevice abstraction used by the Vulkan renderers had been mistakenly set to BLEND_OP_SUBTRACT instead of BLEND_OP_REVERSE_SUBTRACT.

Fixes #77448
2023-05-26 10:50:35 -04:00
bruvzg
8a4a883854 [TextServer] Prevent duplicate line breaks on virtual spaces when line width is significantly smaller than character width. 2023-05-26 16:18:26 +03:00
Rémi Verschelde
ba557aaf55
Merge pull request #77294 from puchik/lod-resolution-scaling
Take 3D resolution scaling into account for mesh LOD
2023-05-24 08:48:38 +02:00
Rémi Verschelde
0821262167
Merge pull request #77079 from kleonc/y_sort_fix_modulation_propagation
Fix modulation propagation for Y-sorted CanvasItems
2023-05-24 08:47:50 +02:00
Rémi Verschelde
852740a627
Merge pull request #76053 from MightiestGoat/fix-sky-auto-exposure
Fix the grainy sky while using debanding.
2023-05-24 08:46:28 +02:00
Rémi Verschelde
6d88c83611
Merge pull request #71684 from kleonc/draw_polyline_simplify_antialiased
`RendererCanvasCull` Simplify drawing antialiased polyline
2023-05-24 08:44:19 +02:00
Rémi Verschelde
d5c1b9f883
Merge pull request #77327 from BastiaanOlij/fix_gi_and_fog_free
Conditionally free GI and FOG resources, they may not have been created
2023-05-22 22:37:12 +02:00
Rémi Verschelde
c3c1909429
Merge pull request #77326 from BastiaanOlij/fix_material_dependencies
Properly clear material slots on mesh instance when material is freed
2023-05-22 22:36:48 +02:00
bruvzg
aaddec7cb8
[TextServer] Add support for retrieving OpenType name strings. 2023-05-22 18:08:34 +03:00
Bastiaan Olij
1a128fcccd Properly clear material slots on mesh instance when material is freed 2023-05-22 23:00:00 +10:00
Rémi Verschelde
1086375785
Merge pull request #77266 from Rindbee/fix-bugs-in-TextureStorage-texture_3d_update
Fix calling `TextureStorage::texture_3d_update()` could cause a crash
2023-05-22 13:49:23 +02:00
Rémi Verschelde
05ddc822fb
Merge pull request #77265 from lyuma/aabb_bone_lod_inside
Fix calculation of skinned AABB for unused bones.
2023-05-22 13:49:19 +02:00
Bastiaan Olij
57f343ab21 Conditionally free GI and FOG resources, they may not have been created 2023-05-22 12:59:34 +10:00
Rindbee
ebd2b9e299 Fix calling TextureStorage::texture_3d_update() could cause a crash 2023-05-22 06:24:13 +08:00
Arman Elgudzhyan
ac4ca89000 Take 3D resolution scaling into account for mesh LOD 2023-05-20 16:40:16 -07:00
Lyuma
791d8001db Fix AABB for unused bones
Fixes bug where bounding box of 1 unit was used in some skinned models and had wrong LODs.
(this could become very large if the mesh is scaled, such as FBX conversions)
Also fixes a mistake in calcualting bone index.
2023-05-19 19:47:52 -07:00
Markus Grafen
8a3e829930 (Re-)Implemented Light3D's property "shadow_reverse_cull_face"
The parameter shadow_reverse_cull_face is now passed to the shadow pass so that the mesh back-faces are used for shadow map calculation.
2023-05-19 19:22:10 +02:00
Yuri Sizov
91f3cdfde0
Merge pull request #77171 from rburing/support_thresholds_3d
Restore edge and face support thresholds in 3D
2023-05-18 19:10:19 +02:00
Bastiaan Olij
dae58dd187 Fix a typo in the debug shadow split renderer 2023-05-18 10:36:12 +10:00
Ricardo Buring
8812d27bc7 Restore edge and face support thresholds in 3D 2023-05-17 20:14:19 +02:00
Rémi Verschelde
b42cea1373
Merge pull request #77089 from DearthDev/lightmapgi-dynamic-objects
LightmapGI dynamic object lighting fix
2023-05-17 11:25:25 +02:00
Rémi Verschelde
59c19a7172
Merge pull request #75250 from bruvzg/lbl_rtl_jst_flags
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification.
2023-05-16 10:48:45 +02:00
Rémi Verschelde
265c70a369
Merge pull request #75142 from bruvzg/scr
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-05-16 10:48:16 +02:00
bruvzg
9163d8c336
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification. 2023-05-15 19:23:54 +03:00
dearthdev
53903f07dc Correctly insert lightmap captures and geometries. 2023-05-15 03:05:19 -05:00
Yuri Rubinsky
d7211b371c
Merge pull request #77086 from Chaosus/shaders_fix_render_mode_completion 2023-05-15 10:58:23 +03:00
Rémi Verschelde
9ecb929da6
Merge pull request #76565 from clayjohn/debug-PSSM-splits
Re-implement the PSSM_SPLITS debug option
2023-05-15 09:33:01 +02:00
Yuri Rubinsky
719741b0eb Exclude incorrect completion options for render_mode in shaders 2023-05-15 08:21:16 +03:00
kleonc
5d8219b4fd Fix modulation propagation for Y-sorted CanvasItems 2023-05-15 01:32:41 +02:00
Danil Alexeev
43b0702a02
Fix "Light Only" mode of CanvasItemMaterial 2023-05-13 09:06:09 +03:00
Rémi Verschelde
cc48827e4a
Merge pull request #76946 from AThousandShips/shadow_warning
Enable shadow warnings and fix raised errors
2023-05-12 10:04:09 +02:00
smix8
f986b52b3c Make navigation mesh edge connections optional
Makes navigation mesh edge connections optional.
2023-05-11 18:46:34 +02:00