Commit Graph

4438 Commits

Author SHA1 Message Date
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
Ninni Pipping
71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Rémi Verschelde
3b8c828159
Merge pull request #69988 from smix8/navigation_rvo_rework_4.x
Rework Navigation Avoidance
2023-05-10 10:19:12 +02:00
Rémi Verschelde
769d8a7bbe
Merge pull request #76088 from rburing/contact_points_global_3d
PhysicsDirectBodyState3D: report contact points using global coordinates
2023-05-10 09:09:17 +02:00
smix8
a6ac305f96 Rework Navigation Avoidance
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
Rémi Verschelde
564d1b34e0
Merge pull request #74711 from BastiaanOlij/add_texture_native_handle
Provide access to internal graphics handles for textures
2023-05-09 19:28:26 +02:00
Rémi Verschelde
de14109862
Merge pull request #73588 from smosages/resolve-display-shader-settings-in-settings-editor
Define shader language project settings before creation of `TextShaderEditor` object.
2023-05-09 19:28:17 +02:00
Rémi Verschelde
668cf3c66f
Merge pull request #76832 from RandomShaper/cluster_render_prevail
Save cluster render shader from being optimized out entirely
2023-05-09 10:46:23 +02:00
Rémi Verschelde
1a987eb9ba
Merge pull request #76624 from myaaaaaaaaa/movie-stat
Print CPU and GPU usage statistics after Movie Maker is finished
2023-05-09 10:45:35 +02:00
Bastiaan Olij
c328676d96 For GDExternal use, provides access to internal graphics handles for textures 2023-05-09 13:47:22 +10:00
Pedro J. Estébanez
6465432570 Save cluster render shader from being optimized out entirely 2023-05-08 18:39:49 +02:00
myaaaaaaaaa
c55892cc5c Print CPU and GPU usage statistics after Movie Maker is finished 2023-05-08 12:02:52 -04:00
Rémi Verschelde
3e6a731904
Merge pull request #76418 from reduz/method-bind-validated-call
Add ValidatedCall to MethodBind
2023-05-08 13:52:42 +02:00
Rémi Verschelde
70f69f6c72
Merge pull request #76379 from Black-Cat/fix-capsule2d-sleep
Fix precision in physics supports generation
2023-05-08 13:52:37 +02:00
Clay John
610877e326
Merge pull request #72288 from MewPurPur/use-string-repeat
Use `String.repeat()` to optimize several String methods
2023-05-05 09:56:48 -07:00
Max Hilbrunner
39d85308fd
Merge pull request #76109 from paddy-exe/fix-node-position-view 2023-05-05 14:35:41 +02:00
Max Hilbrunner
d481fca986
Merge pull request #75517 from BastiaanOlij/expose_render_target 2023-05-05 14:28:01 +02:00
Max Hilbrunner
fa451ead91
Merge pull request #74883 from dalexeev/fix-thin-multiline-colors 2023-05-05 14:26:37 +02:00
Johan Aires Rastén
8452e6cdb3 Add SPECULAR_AMOUNT spatial light shader built-in
Light3D has a light_specular property which is used to set the
intensity of specular contributed by this light source, but it was
previously only used by the default material light shader, and not
possible to use in a custom light() shader.
2023-05-04 09:15:12 +02:00
Max Hilbrunner
ba32279cd0
Merge pull request #76550 from RandomShaper/vk_gi_take_2
Fix voxel GI issues (2)
2023-05-03 20:24:05 +02:00
Patrick
e35bbd76a3 Fix Rotation Issue with NODE_POSITION_VIEW Visual Shader Node 2023-05-03 19:59:43 +02:00
Pedro J. Estébanez
c58e50adcc Fix additional cases of breakage of rendering effects 2023-05-03 11:57:54 +02:00
clayjohn
fb77021559 Use proper UV in cubemap downsampler raster
This removes bias in cubemap downsampling shader that resulted in the bottom of cubemaps being over represented
2023-05-03 01:06:34 -07:00
VolTer
6b84e258d2 Use String.repeat() in more places 2023-05-01 02:27:46 +02:00
Juan Linietsky
1c93606e47 Add ValidatedCall to MethodBind
* This should optimize GDScript function calling _enormously_.
* It also should simplify the GDScript VM considerably.

NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
2023-04-30 20:01:26 +02:00
Black-Cat
d710af2e97
Fix precision in physics supports generation
Lower threshold for dot was (1.0 - threshold) which is incorrect.
Patch changes it to correct version sqrt(1.0 - threshold * threshold)

Co-authored-by: Ricardo Buring <ricardo.buring@gmail.com>
2023-04-29 12:12:10 +01:00
clayjohn
ca23d06a31 Re-implement the PSSM_SPLITS debug option
This uses a render_mode instead of shadow_color to avoid adding a cost to the basic shader
2023-04-28 17:53:56 -07:00
Samuele Panzeri
4aaa2e6477 Fix wait for thread not started 2023-04-27 20:28:22 +02:00
Rémi Verschelde
5a1d4bd8ab
Merge pull request #76479 from bitsawer/fix_preprocessor_line_number
Fix Shader Preprocessor line numbering when disabled
2023-04-27 08:19:30 +02:00
Rémi Verschelde
359b494cbe
Merge pull request #76437 from RandomShaper/fix_vol_fog_voxel_gi
Fix voxel GI issues
2023-04-27 08:19:06 +02:00
Pedro J. Estébanez
09aa1bbdb3 Fix unsupported sampler filter used for voxel GI 2023-04-26 20:54:06 +02:00
bitsawer
34896d8e89 Fix Shader Preprocessor line numbering when disabled 2023-04-26 16:48:23 +03:00
Rémi Verschelde
b58873b98a
Merge pull request #69833 from Eoin-ONeill-Yokai/audio_invalid_mixrate
Fix crash caused by invalid mix_rate assignment due to bogus project settings.
2023-04-26 11:35:37 +02:00
Pedro J. Estébanez
2beed0d5dc Fix breakages of volumetric fog on voxel GI changes 2023-04-26 10:24:03 +02:00
Eoin O'Neill
5a08091168 Fix crash caused by invalid mix_rate assignment due to bogus
project settings.

We'll default to a sensible value in the case that a user has
somehow managed to modify the configuration file incorrectly.

Closes 69819
2023-04-25 23:52:50 -07:00
Johan Aires Rastén
14a8124ffe Add LIGHT_IS_DIRECTIONAL built-in for spatial shaders 2023-04-20 14:33:30 +02:00
Rémi Verschelde
27253f3eb2
Merge pull request #76240 from clayjohn/Light2D-artifacts
Clamp normal when calculating 2D lighting to avoid artifacts
2023-04-19 10:13:56 +02:00
bruvzg
520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method. 2023-04-19 08:54:53 +03:00
clayjohn
ab603e347f Clamp normal when calculating 2D lighting to avoid artifacts 2023-04-18 17:26:17 -07:00
Yuri Sizov
9882af4880
Merge pull request #76197 from dalexeev/fix-error-macro-misuses
Fix misuses of error macros
2023-04-18 16:11:37 +02:00
Yuri Sizov
0aa2c32770
Merge pull request #76148 from smix8/navigation_debug_nontri_meshes_4.x
Fix NavigationMesh debug visuals for non-triangulated meshes
2023-04-18 13:07:24 +02:00
Danil Alexeev
36bedd341a
Fix misuses of error macros 2023-04-18 10:20:48 +03:00
Rémi Verschelde
96580689b0
Merge pull request #76051 from rburing/contact_local_velocity_2d
PhysicsDirectBodyState2D: add `get_contact_local_velocity_at_position`
2023-04-17 20:14:00 +02:00
Yuri Sizov
f7308f4502
Merge pull request #75782 from kleonc/debugger-video-ram-deserialization-fix
Fix deserializing resource usage debug data
2023-04-17 14:27:06 +02:00
smix8
4490a3303b Fix NavigationMesh debug visuals for non-triangulated meshes
Fixes NavigationMesh debug visuals for non-triangulated meshes.
2023-04-16 23:31:54 +02:00
Ricardo Buring
47c5b8bafc Improve rigid body CCD against moving bodies 2023-04-16 19:46:33 +02:00
Ricardo Buring
15b8cb9d9c PhysicsDirectBodyState3D: report contact points using global coordinates
Also update the documentation to reflect this in both 2D and 3D.
2023-04-15 14:31:17 +02:00
mightygoat
69f634ac78 Fix the grainy sky while using debanding 2023-04-15 10:43:46 +05:30
Ricardo Buring
aacb20437a PhysicsDirectBodyState2D: add get_contact_local_velocity_at_position 2023-04-14 11:40:06 +02:00
Rémi Verschelde
8bce5a88e1
Merge pull request #76009 from Calinou/particles-attractor-strength-fix-typo
Fix `setrngth` typo in `particles_collision_set_attractor_strength()`
2023-04-13 09:57:05 +02:00
Rémi Verschelde
0ec2be1213
Merge pull request #76003 from clayjohn/double-particle-offset
Don't store instance transform origin in RD 3D renderer unless requested
2023-04-13 09:56:41 +02:00
Rémi Verschelde
34a842b5d1
Merge pull request #75462 from joao-pedro-braz/use_modelview_for_vertex_transform_when_double_precision_is_enabled
Use MODELVIEW_MATRIX when on double precision
2023-04-13 09:53:54 +02:00
Rémi Verschelde
e6e52f9154
Merge pull request #75162 from ecmjohnson/gpuparticles_inf_translate
GPUParticles3D: Translate inactive particles to -INF
2023-04-13 09:53:04 +02:00
Rémi Verschelde
8b31811b2d
Merge pull request #71364 from clayjohn/exposure-builtin
Add EXPOSURE built in to spatial shaders
2023-04-13 09:52:40 +02:00
Rémi Verschelde
f850bfa92d
Merge pull request #58880 from tgift/DirectBodyState
Contacts and PhysicsDirectBodyState3D
2023-04-13 09:51:43 +02:00
Hugo Locurcio
e7852552d4
Fix setrngth typo in particles_collision_set_attractor_strength() 2023-04-13 03:09:26 +02:00
Erik Johnson
6229c2a1f9 Translate inactive particles to -INF 2023-04-12 19:32:39 -04:00
clayjohn
29edd277e4 Don't store instance transform in RD 3D renderer unless requested
Previously, when using doubles builds of the engine, instance transform was stored no matter what which caused world space particles to accumulate the instance transform twice
2023-04-12 14:41:17 -07:00
Tim Gift
fffc6aba58 Resolved issues with script PhysicsDirectBodyState3d contacts
Resolved a problem with PhysicsDirectBodyState3D sometimes returning incorrect contact positions and added a new get_contact_local_velocity_at_position method to compliment the existing one for the collider.
2023-04-12 11:40:34 -07:00
clayjohn
9be0a73294 Add EXPOSURE built in to spatial shaders
This allows users to restore light values to pre-pre-exposure amounts
2023-04-12 10:35:13 -07:00
Rémi Verschelde
5e34a28bd7
Merge pull request #73313 from clayjohn/particles-split
Properly calculate lifetime_split for particles
2023-04-12 17:01:17 +02:00
Rémi Verschelde
15316416ab
Merge pull request #75974 from bruvzg/ts_emb_caret
[TextServer] Use dedicated flag for object replacement characters.
2023-04-12 13:28:09 +02:00
bruvzg
d904516e55
[TextServer] Use dedicated flag for object replacement characters. 2023-04-12 10:08:51 +03:00
Rémi Verschelde
1b14e1a293
Merge pull request #75908 from Calinou/compute-pipeline-fix-typo
Fix `compute_pieline` typo in `RenderingDevice.compute_pipeline_is_valid()`
2023-04-12 09:07:43 +02:00
Yuri Rubinsky
1433c98e9f
Merge pull request #75831 from Chaosus/shader_fix_texture_array_hint_completion 2023-04-12 08:58:59 +03:00
Rémi Verschelde
ef17794d17
Merge pull request #75812 from RandomCatDude/sky-fog-luminance-fix
Move sky luminance scaling to before fog is applied
2023-04-11 19:40:36 +02:00
Rémi Verschelde
7b078bfe14
Merge pull request #75632 from Calinou/test-texture-fix-creation
Fix `get_test_texture()` returning an almost fully white texture
2023-04-11 19:40:19 +02:00
Rémi Verschelde
347a8e20ae
Merge pull request #69324 from RedMser/advanced-settings-errors
Make it easier to solve warnings/errors referring to project settings
2023-04-11 19:39:53 +02:00
Hugo Locurcio
8eb0d0e665
Fix compute_pieline typo in RenderingDevice.compute_pipeline_is_valid() 2023-04-10 22:32:04 +02:00
Yuri Sizov
040330c63c
Merge pull request #75835 from rburing/fix_convex_convex_axis_test
Fix typo bug in convex-convex separating axis test
2023-04-10 12:37:00 +02:00
Ricardo Buring
d7aed57b60 Fix typo bug in convex-convex separating axis test 2023-04-08 20:37:12 +02:00
Yuri Rubinsky
12142f2b50 Fix completion of source_color hint for texture arrays in shaders 2023-04-08 20:13:26 +03:00
RandomCatDude
c118314fe8 Apply sky fog after luminance multiplier 2023-04-08 12:52:33 +05:00
kleonc
3e7752463a Fix deserializing resource usage debug data 2023-04-07 17:00:38 +02:00
Yuri Sizov
47af40c71f
Merge pull request #75665 from Malcolmnixon/penetration-depth-precision
Modify contact_max_allowed_penetration precision to 3 significant digits
2023-04-07 12:43:12 +02:00
Yuri Sizov
cbb2e17369
Merge pull request #75368 from MightiestGoat/fix-limit-interpolation-R0
Fix the limit for interpolation of R0 with respect to metallic and the calculation of the cos theata in the Fresnel Shlick term in SSR
2023-04-07 12:40:33 +02:00
Yuri Sizov
08c1b55862
Merge pull request #74891 from jmattspartacus/OccluderPolygon2D_memLeak_53722
Fix for OccluderPolygon2D memory leak
2023-04-07 12:37:51 +02:00
mightygoat
2c000cb72f Fix the limit for interpolation of R0 with respect to metallic and SSR
Shlick term
2023-04-06 23:14:47 +05:30
Malcolm Nixon
1d1d3c71e0 Modify "physics/3d/solver/contact_max_allowed_penetration" precision to three significant digits, so values down to "0.001" can be specified.
Updated additional 2D and 3D physics parameters based on team recommendations

Co-Authored-By: Ricardo Buring <rburing@users.noreply.github.com>
2023-04-05 18:14:35 -04:00
Rémi Verschelde
0d6a07c031
Merge pull request #75664 from BastiaanOlij/fix_sky_framebuffer_init
Fix framebuffers in sky not being created on mobile renderer
2023-04-05 12:03:34 +02:00
Rémi Verschelde
4f30ca3b0f
Merge pull request #75579 from smix8/make_navigation_projectsettings_basic_4.x
Make navigation ProjectSettings always visible
2023-04-05 12:03:19 +02:00
Bastiaan Olij
901cd7e3fe Fix framebuffers in sky not being created on mobile renderer 2023-04-05 09:43:03 +10:00
Hugo Locurcio
e4d5cecd4c
Fix get_test_texture() returning an almost fully white texture
The texture's appearance is now similar to the texture that was displayed
on the TestCube node in Godot 2.x.
2023-04-04 02:30:05 +02:00
Yuri Sizov
9dcfdc2051
Merge pull request #75366 from Chaosus/shader_compiler_fix_operator
Fix to some operators in shaders are not compiled properly
2023-04-03 22:32:31 +02:00
Rémi Verschelde
154a29d33a
Merge pull request #74808 from bradc6/feature/AllowCustomOutputShaderGenFilepaths
Allow for shaders to be generated outside of the source tree
2023-04-03 16:01:32 +02:00
Rémi Verschelde
38094dfc4a
Merge pull request #74558 from smix8/navserver_real_t_4.x
Fix NavigationServer internals still using float instead of real_t
2023-04-03 16:00:42 +02:00
smix8
cd62b5b499 Make navigation ProjectSettings always visible
Makes navigation ProjectSettings always visible.
2023-04-02 01:17:10 +02:00
Bastiaan Olij
ab60d3b65c Expose viewports render targer RID 2023-03-31 11:34:09 +11:00
João Pedro Braz
63c6f0b93c Use MODELVIEW_MATRIX for vertex transform when double precision is enabled
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.
2023-03-29 10:37:30 -03:00
RedMser
ed960453b7 Make solving project setting errors easier
Show full project setting path in error messages.
Force filtering for advanced settings if filter is not empty.
2023-03-27 08:10:35 +02:00
Yuri Rubinsky
575e352a61 Fix to some operators in shaders are not compiled properly 2023-03-26 20:50:02 +03:00
Yuri Sizov
d20c520d96
Merge pull request #74848 from BastiaanOlij/add_xr_system_info
Add a get_system_info method to XRInterface
2023-03-25 15:07:51 +01:00
Yuri Sizov
4640b553a2
Merge pull request #75260 from rburing/fix_collide_shape_return
Fix `collide_shape` return type
2023-03-25 13:54:05 +01:00
Ricardo Buring
61429a5f49 Fix collide_shape return type
Fix PhysicsDirectSpaceState3D::_collide_shape return type.
Also PhysicsDirectSpaceState2D::_collide_shape.
2023-03-23 16:16:23 +01:00
bruvzg
ab94024ce1
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows. 2023-03-20 14:58:21 +02:00
Bradley Clemetson
2302c7102f
Allow for external python scripts to call the build python headers via external scripts
Change GLES3 to not use a relative path
Make the parameters more explicit and ensure the shaders generated are not using relative paths
2023-03-19 21:18:52 -07:00
Yuri Sizov
a7d0e18a31
Merge pull request #74861 from rburing/restore_trimesh_ccd
Revert attempted fix of trimesh CCD
2023-03-17 10:56:44 +01:00
Yuri Sizov
98d95f3a0e
Merge pull request #74149 from bruvzg/get_char
[Font] Implement `get_char_from_glyph_index` function.
2023-03-16 13:07:11 +01:00
Yuri Sizov
ded38c5d75
Merge pull request #73839 from clayjohn/OUTPUT_IS_SRGB
Clean up OUTPUT_IS_SRGB redefinitions
2023-03-16 13:03:37 +01:00
James Christie
68149328f1 Set value of line_point_count outside of initialization 2023-03-16 01:20:41 -04:00
Bastiaan Olij
e31c2e4277 Add a get_system_info method to XRInterface 2023-03-15 13:11:48 +11:00
Danil Alexeev
ba985ecf3f
Fix draw_multiline_colors() for width < 0 2023-03-14 09:43:56 +03:00
Ricardo Buring
bec1182093 Revert attempted fix of trimesh CCD 2023-03-13 13:54:10 +01:00
Rémi Verschelde
0333b4a266
Merge pull request #74708 from BastiaanOlij/fix_rd_texture
Merge duplicate rd_texture functions
2023-03-10 22:48:19 +01:00
Rémi Verschelde
0c59e0c35b
Merge pull request #74707 from mihe/recovery-as-collision
Add `recovery_as_collision` to extension binding of `_body_test_motion`
2023-03-10 14:06:38 +01:00
Rémi Verschelde
123af87bc8
Merge pull request #74671 from mihe/motion-bindings
Fix extension bindings for motion collision/result structs
2023-03-10 14:04:40 +01:00
Rémi Verschelde
4779389d3a
Merge pull request #74242 from mihe/pick-ray
Add `pick_ray` parameter to extension binding of `intersect_ray`
2023-03-10 14:02:43 +01:00
Rémi Verschelde
0511da260f
Merge pull request #74019 from BastiaanOlij/split_last_effects
Move roughness limiter and sort into their own classes
2023-03-10 14:02:14 +01:00
Bastiaan Olij
70dca9ff55 Merge duplicate rd_texture functions 2023-03-10 21:37:01 +11:00
Mikael Hermansson
1bad2e30ee Add recovery_as_collision to extension binding of _body_test_motion 2023-03-10 09:37:21 +01:00
Mikael Hermansson
be64ffd25d Fix extension bindings for motion collision/result structs 2023-03-09 17:31:56 +01:00
Bastiaan Olij
a8ec72cf94 Move roughness limiter and sort into their own classes 2023-03-09 21:58:55 +11:00
Rémi Verschelde
d150bb84a6
Merge pull request #74566 from clayjohn/GL-canvas-texture
Avoid copying CanvasTexture when updating proxy
2023-03-08 08:59:04 +01:00
Rémi Verschelde
23bbf6b37c
Merge pull request #74533 from SlugFiller/fix-clip-no-children
Fixes a canvas item set to clip children being drawn as black if no children are visible
2023-03-08 08:57:00 +01:00
Rémi Verschelde
a0ff87f48d
Merge pull request #74416 from SlugFiller/fix-skeleton2d-aabb
Fix AABB calculation for meshes using Skeleton2D
2023-03-08 08:56:12 +01:00
Rémi Verschelde
1a5239ff1e
Merge pull request #74349 from JohanAR/fix-instance-uniforms
Fix instance uniforms breaking when setting a new mesh.
2023-03-08 08:55:48 +01:00
smix8
217a27014b Fix NavigationServer internals still using float instead of real_t
Fixes that some NavigationServer internals still used float instead of real_t in some parts.
2023-03-07 22:10:48 +01:00
clayjohn
84482ef90b Avoid copying CanvasTexture when updating proxy 2023-03-07 12:48:32 -08:00
SlugFiller
f25508befb Fixes a canvas item set to clip children being drawn as black if no children are visible 2023-03-07 09:53:26 +02:00
Rémi Verschelde
5f2137a050
Merge pull request #74087 from bruvzg/get_screen_px
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows.
2023-03-06 21:58:58 +01:00
SlugFiller
06a1fe0364 Fix AABB calculation for meshes using Skeleton2D 2023-03-05 08:21:08 +02:00
Johan Aires Rastén
26aecbfe57 Fix instance uniforms breaking when setting a new mesh.
Fixes #58113
2023-03-04 11:49:18 +01:00
Fabio Iotti
528e0d095e Error on hint_normal_roughness_texture and hint_depth_texture outside of spatial shader 2023-03-03 21:36:48 +01:00
Rémi Verschelde
61d2c85511
Merge pull request #74269 from clayjohn/RD-more-timestamps
Add a few more rendering timestamps
2023-03-03 11:09:27 +01:00
Rémi Verschelde
7bb68278bb
Merge pull request #74151 from BastiaanOlij/add_world_origin_prop
Add XRServer.world_origin property
2023-03-03 11:05:21 +01:00
clayjohn
1adc4e5875 Add a few more rendering timestamps 2023-03-02 18:15:21 -08:00
Mikael Hermansson
fb3454a3ec Add pick_ray parameter to extension binding of intersect_ray 2023-03-02 18:00:03 +01:00
Rémi Verschelde
31eccb5501
Merge pull request #74150 from BastiaanOlij/fix_mobile_msaa_2d
Use MSAA 2D texture in multipass tonemapper
2023-03-02 11:42:13 +01:00
Rémi Verschelde
29723da272
Merge pull request #73919 from RandomCatDude/volumefog-spotlight-fix
Fix spotlight shadows in volumetric fog
2023-03-02 11:23:24 +01:00
Bastiaan Olij
fd8f26f26e Add XRServer.world_origin property 2023-03-01 22:18:47 +11:00
Bastiaan Olij
903aa0e385 Use MSAA 2D texture in multipass tonemapper 2023-03-01 18:59:59 +11:00
bruvzg
e7647b5ee5
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows. 2023-03-01 09:32:23 +02:00
bruvzg
8459aeaab0
[Font] Implement get_char_from_glyph_index function. 2023-03-01 09:29:11 +02:00
Rémi Verschelde
0cd1483132
Merge pull request #73959 from clayjohn/GL-mobile-warnings
Add warnings for unsupported features in mobile and gl_compatibility backends
2023-02-26 21:39:06 +01:00
clayjohn
c69b14e96e Add warnings for unsupported features in mobile and gl_compatibility backends 2023-02-26 12:28:02 -08:00
bruvzg
bbc77b6d29
Fix text server GDExtension build. 2023-02-26 18:38:22 +02:00
bitsawer
35c970f4f6 Fix shader preprocessor include resource check 2023-02-26 13:59:29 +02:00
RandomCatDude
59c31004f8 fix spotlight shadows in volumetric fog 2023-02-25 16:28:06 +05:00
smosages
786ad514df Move ShaderWarning definitions into rendering_server 2023-02-25 12:14:25 +01:00
Bastiaan Olij
4c2f33cfae Fixing issues with SSIL artifacts 2023-02-24 16:13:18 +11:00
clayjohn
316cf04059 Clean up OUTPUT_IS_SRGB redefinitions 2023-02-23 12:56:42 -08:00
Bastiaan Olij
467d735eb1 Fix issue with default textures requiring arrays when using multiview 2023-02-22 16:50:58 +11:00
Rémi Verschelde
1fc28fe31f
Merge pull request #73698 from clayjohn/SS-bias
Increase SSAO and SSIL bias to account for variance in mipmap generation
2023-02-21 21:16:07 +01:00
Rémi Verschelde
5e57205365
Merge pull request #73478 from NewDefectus/master
Use the original canvas to calculate light positioning
2023-02-21 21:14:51 +01:00
clayjohn
db9dfb7233 Increase SSAO and SSIL bias to account for variance in mipmap generation 2023-02-21 10:25:33 -08:00
Alon Ran
2d7db30f0d Use the original canvas to calculate light positioning 2023-02-21 11:57:16 +02:00
Yuri Rubinsky
94831c7209 Forbid passing multiview sampler to the custom function in shaders 2023-02-21 11:23:17 +03:00
Rémi Verschelde
02e5da2cc5
Merge pull request #72917 from rburing/fix_trimesh_ccd
Fix CCD in case of multiple supports in motion direction
2023-02-20 15:40:56 +01:00
Rémi Verschelde
9583c20171
Merge pull request #70515 from stmSi/fix-hanging-audio-pitch-scale
Fix hanging if audiostream's pitch_scale is NaN
2023-02-17 14:06:55 +01:00
Rémi Verschelde
b2584629c8
Merge pull request #73195 from timothyqiu/weblate-comments
Improvements and fixes based on Weblate comments
2023-02-17 09:55:39 +01:00
Rémi Verschelde
4a1913fc17
Merge pull request #68181 from MarianoGnu/fix-convex-hull-crash
Avoid memory corruption when GodotConvexPolygonShape3D is setup more than once
2023-02-17 00:33:47 +01:00
Rémi Verschelde
eb1af0d95f
Merge pull request #73420 from clayjohn/SSAO-half-size
Fix sampling bug when SSAO is using half size
2023-02-17 00:32:32 +01:00
Rémi Verschelde
2d845ee3d1
Merge pull request #73437 from bruvzg/docs_ignore_import_v
Exclude platform dependent `rendering/textures/vram_compression/import_*` default values from documentation.
2023-02-16 18:34:44 +01:00
Rémi Verschelde
6b7c0a1f2a
Merge pull request #73250 from smix8/fix_navigation_debug_script_toggle_4.x
Fix navigation debug not toggleable in scripts
2023-02-16 18:32:39 +01:00
bruvzg
041f559da1
Exclude platform dependent rendering/textures/vram_compression/import_* default values from documentation. 2023-02-16 15:48:09 +02:00
smix8
aecad7bb25 Fix navigation debug not toggleable in scripts
Fixes that navigation debug was not toggleable in script while even the docs mentioned it.
2023-02-16 11:12:48 +01:00
clayjohn
c9c14410e9 Fix sampling bug when SSAO is using half size 2023-02-16 00:37:12 -08:00
Rémi Verschelde
5b6c9c66a4
Android: Default Min SDK to 24 for Vulkan mobile
Users can still go down to 21 when using GL Compatibility.
This makes the default behavior match the default renderer, and thus avoids
a warning in the out of the box experience.

Also mark texture compression settings as basic, since out of the box users
who want to export to Android will need to enable ETC2/ASTC manually.
2023-02-15 14:32:54 +01:00
clayjohn
f35ca4a9c7 Properly calculate lifetime_split for particles 2023-02-14 14:37:47 -08:00
smix8
f1026450bf Unbind NavigationServer3D.process()
Unbinds NavigationServer3D.process().
2023-02-14 21:21:36 +01:00
Rémi Verschelde
1a206d0e22
Merge pull request #73263 from clayjohn/render_priority
Notify mesh surface when render_priority changes
2023-02-14 11:05:28 +01:00
clayjohn
d3b3419aff Notify mesh surface when render_priority changes
This ensures that the mesh properly takes render_priority into account when changed
2023-02-13 18:09:33 -08:00
Rémi Verschelde
0668e0f5a9
Merge pull request #69001 from dzil123/fix_rendering_checks
Fix various missing rendering parameter checks
2023-02-13 21:07:05 +01:00
Rémi Verschelde
e78b77481e
Merge pull request #73240 from myaaaaaaaaa/worker-h
Move some `worker_thread_pool.h` includes out of header files
2023-02-13 21:05:57 +01:00
myaaaaaaaaa
6f88392d02 Move some worker_thread_pool.h includes out of header files 2023-02-13 14:02:01 -05:00
Rémi Verschelde
3815903119
Merge pull request #72838 from BastiaanOlij/update_screen_space_render_buffers
Add render buffer support to screen space effects
2023-02-13 19:15:48 +01:00
Rémi Verschelde
c144919a74
Merge pull request #73208 from smix8/fix_navigationregion2d_debug_4.x
Fix 2D navigation debug visuals ignoring half the ProjectSettings
2023-02-13 12:58:09 +01:00
smix8
2b19c70664 Fix 2D navigation debug visuals ignoring half the ProjectSettings
Fixes that NavigationRegion2D and TileMap debug visuals ignored more or less half the ProjectSetting. E.g. random color could not be disabled, edges did not display.
2023-02-13 11:42:23 +01:00
Haoyu Qiu
84aee17901 Improvements and fixes based on Weblate comments
* Description of `ui_text_submit` action should be "Submit Text" instead of "Text Submitted".
* Spell out "Animation" instead of using "Anim.".
* Treat "Max" as regular word instead of writing "Max.".
* Use generic "Set %s" for action name instead of a dedicated "Set target_position".
* Add translator comment for:
    * "Inclusive" and "Self" in the profiler.
    * Places where it needs the context about being an editor progress label.
    * "Duplicated Animation Name" since it's refering to the new name of a duplicated animation.
    * Disambiguation of "View Plane Transform", "Paste Selects" and "Display Normal".
* Fix wrong undo action name for renaming an input action.
* Fix missing end quote in a shader error message.
* In class reference:
    * Fix duplicated "if" in the description of `signf()`.
    * Fix mismatched example output in `String.operator %()`.
    * Fix typo in the description of `Decal.texture_emission`.
    * Unify description of `String.match()` and `StringName.match()`.
2023-02-13 15:22:18 +08:00
Anthony Cossins
ae282e9b7d Fix return type for collide_shape to use PackedVector3Array 2023-02-12 23:32:13 +00:00
Rémi Verschelde
bd92f124f7
Merge pull request #73060 from clayjohn/screen_texture-size
Avoid inserting screen_texture compatibility code when using textureSize
2023-02-11 14:37:30 +01:00
Rémi Verschelde
6442cb948e
Merge pull request #73031 from DarkKilauea/allow-no-navigation-module
Allow compiling out the navigation module
2023-02-11 14:37:06 +01:00
clayjohn
6c1c71d68b Avoid inserting screen_texture compatibility code when using textureSize 2023-02-10 13:03:02 -08:00
clayjohn
4317f6236f Do clear request before reading from render target when using CANVAS_BG 2023-02-10 12:12:34 -08:00
Rémi Verschelde
ed85a2c8ce
Merge pull request #70663 from EpEpDragon/feature_buffer_get_data_size_option
Add optional size parameter to the RenderDevice buffer_get_data method.
2023-02-10 18:49:28 +01:00
Ricardo Buring
2290f3b6a4 Fix CCD in case of multiple supports in motion direction
For example, an axis-aligned box under the influence of gravity landing
on a horizontal triangle could previously tunnel, because only one of
the supports of the box was considered to be the candidate point that
would collide first. Now all supports are considered as candidates.

Also fix CCD always pushing the fast body into the other body, which
works well for convex shapes but not for trimesh/concave shapes.
2023-02-10 09:55:16 +01:00
Josh Jones
f978d74fd0 Allow compiling out the navigation module 2023-02-09 23:04:16 -08:00
Bastiaan Olij
694c8ec273 Add render buffer support to screen space effects 2023-02-10 10:27:59 +11:00
Markus Sauermann
d249370cd7 Fix crash in editor when setting SubViewport.size to zero
`Viewport::_set_size` now verifies, that the minimum size is at least 2x2.
Also fix `RendererViewport::viewport_set_size` fail condition.
2023-02-10 00:25:45 +01:00
Rémi Verschelde
d02a7bc00d
Merge pull request #72953 from timothyqiu/i18n-improvements
Improve some editor strings for localization
2023-02-09 12:38:17 +01:00
Haoyu Qiu
a40ccc2d7e Improve some editor strings for localization 2023-02-09 19:32:02 +08:00
Emmanouil Papadeas
c36460060e
Further refactoring to AudioDriver implementations after #69120.
- Rename all instances of `capture_start()` and `capture_end()` to their new
  names. Fixes #72892.
- More internal renames to match what was started in #69120.
- Use `override` consistently so that such refactoring bugs can be caught.
- Harmonize the order of definition of the overridden virtual methods in each
  audio driver.
- Harmonize prototype for `set_output_device` and `set_input_device`.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-02-09 11:02:00 +01:00
clayjohn
04a9933f2e Mark fma function as high end so it isn't used with the gl_compatibility renderer 2023-02-08 12:56:15 -08:00
Rémi Verschelde
743e26d4f9
Merge pull request #72829 from Sauermann/fix-code-simplifications
Some code simplifications
2023-02-07 16:30:22 +01:00
Markus Sauermann
826e54fa73 Some code simplifications
1. `number_width` isn't used later
2. `return_type` is used only once
3. AudioServer::get_singleton()->get_channel_count() always returns a channel_count of 1 or larger
4. negative `aa->backward` conditional
5. `current_canvas` == `find_world_2d()->get_canvas()`
6. identical if `render_shadows`
2023-02-07 14:30:16 +01:00
Rémi Verschelde
1cd66a76fc
Merge pull request #72827 from RandomShaper/fix_slow_step
Pace debugger draw requests
2023-02-07 14:08:15 +01:00
Pedro J. Estébanez
31a4a0002e Pace debugger draw requests 2023-02-07 12:10:28 +01:00
clayjohn
56450fb179 Implement cull_mask for decals and lights in mobile and compatibility backends 2023-02-06 12:12:47 -08:00
Yuri Sizov
2bd5302704
Merge pull request #72695 from clayjohn/CanvasGroup-shading
Avoid shading CanvasGroup nodes twice
2023-02-04 21:38:25 +03:00
clayjohn
dfbf439081 Avoid shading CanvasGroup nodes twice 2023-02-03 15:40:42 -08:00
Ricardo Buring
497f5576c1 Fix MultiMesh visible_instance_count being ignored after the first frame
Co-authored-by: Clay John <claynjohn@gmail.com>
2023-02-03 11:40:39 -08:00
Rémi Verschelde
4aec884b96
Merge pull request #72643 from clayjohn/CL-blend-mode
Expose RenderingServer.canvas_light_blend_mode
2023-02-03 06:26:20 +01:00
Rémi Verschelde
ddca070bea
Merge pull request #72631 from rburing/custom_aabb_update_dependency
Notify dependencies when setting custom mesh AABB
2023-02-03 06:24:51 +01:00
Rémi Verschelde
ec3adb93f7
Merge pull request #72589 from BastiaanOlij/add_layer_slice_support
Add layer slice support to render device and render buffers
2023-02-03 06:24:43 +01:00
Rémi Verschelde
8ef01ee5df
Merge pull request #72604 from rbessems/rbessems/env_blend_mode
Add XR Environment Blend Mode Support
2023-02-03 06:24:30 +01:00
clayjohn
13488b4260 Expose RenderingServer.canvas_light_blend_mode
This appears to have been missed in the refactor
2023-02-02 19:12:27 -08:00
Bastiaan Olij
093289364f Add layer slice support to render device and render buffers 2023-02-03 09:48:56 +11:00
Ricardo Buring
086b9e0c59 Notify dependencies when setting custom mesh AABB
Fixes SoftBody3D culling issues.
2023-02-02 23:31:27 +01:00
Rémi Verschelde
9caf691c89
Merge pull request #72494 from Chaosus/shader_fix_const_init
Fix shader failure when using non-const initializer on a constant
2023-02-02 21:05:27 +01:00
Ron Bessems
d7d171c45c Add XR Environment Blend Mode Support 2023-02-02 12:18:42 -05:00
Rémi Verschelde
e52213e2fa
More codespell fixes, do more changes from previous ignore list 2023-02-01 12:11:36 +01:00
Yuri Rubinsky
e034d5f764 Fix shader failure when using non-const initializer on a constant 2023-02-01 13:03:11 +03:00
Rémi Verschelde
7990b76ad8
Merge pull request #63829 from clayjohn/VULKAN-disable-multiview
Disable multiview shader versions when xr is disabled
2023-02-01 07:58:32 +01:00
Rémi Verschelde
e8240031e7
Merge pull request #71479 from raulsntos/virtual-return-type
Use enum instead of int in virtual methods return type
2023-02-01 07:45:28 +01:00
Rémi Verschelde
ab4d8df163
Merge pull request #72485 from BastiaanOlij/add_eye_matrix_access
Expose EYE_OFFSET to gdshader code
2023-02-01 07:33:18 +01:00
Rémi Verschelde
0ba7e5a40a
Merge pull request #72464 from clayjohn/RD-skeleton-crash
Check if Skeleton exists before reading when calculating blend shapes
2023-02-01 07:31:42 +01:00
Rémi Verschelde
3eb1ac9fd2
Merge pull request #72075 from Maran23/extents-to-size
Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal  and GPUParticles*3D
2023-02-01 07:30:09 +01:00
Rémi Verschelde
b7c0f613b5
Merge pull request #66076 from Sauermann/fix-double-physics-input-events-for-layers
Fix physics events being interpreted twice for nodes in canvas layer
2023-02-01 07:29:16 +01:00
Rémi Verschelde
67ab9d85d4
Merge pull request #71543 from smix8/navigation_agent_debug_4.x
Add NavigationAgent Path Debug Visualization
2023-02-01 07:23:24 +01:00
Bastiaan Olij
8c77aea9ab Expose EYE_OFFSET to gdshader code 2023-02-01 12:39:13 +11:00
Markus Sauermann
7e056f1b37 Fix physics events being interpreted twice when in canvas layer 2023-01-31 23:14:57 +01:00
Marius Hanl
a59819630d Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
- Extents are replaced by Size (Size is Extents * 2)
- The UI text displays 'Size'
- Snapping is adjusted to work with Size
- _set and _get handle extents for compatibility

Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2023-01-31 20:04:11 +01:00
clayjohn
cdc6c00b5f Check if Skeleton exists before reading when calculating blend shapes 2023-01-31 10:10:31 -08:00
Raul Santos
9e9eac4676
Use enum instead of int in virtual methods return type 2023-01-31 19:06:49 +01:00
Rémi Verschelde
935a6ef46b
Merge pull request #72425 from smix8/default_physics_space_on_demand_only_4.x
Create default World physics spaces on demand only
2023-01-31 18:56:35 +01:00
smix8
0ab764e84b Add NavigationAgent Path Debug Visualization
Adds path debug visuals for NavigationAgent2D, NavigationAgent3D and NavigationServer.
2023-01-31 18:27:35 +01:00
smix8
026549db2e Create default World physics spaces on demand only
Changes that the default physics spaces of World resources are only created on first use.
2023-01-31 18:26:52 +01:00
souplamp
5300daaff2
Audio rename (device, capture_device) -> (output_device, input_device)
Change instances of audio properties 'device' to 'output_device',
and instances of audio properties 'capture_device' to 'input_device',
as well as their subsequent getter & setter functions.

Update the docs to reflect these changes, as well as the
3-to-4 converter for GDScript and CSharp to make proper
conversions (only exception is 'device' since that name
is too vague and might replace non-AudioServer related
instances, such as user comments and variables).

This does not change internal references to references like
'Render Client' and 'Capture Client' in WASAPI; such is outside the
scope of this commit. This also does not change ALSA's references,
considering that it uses 'device' to mean input and output
interchangeably.

Other references are changed, however where applicable,
to be consistent with the new AudioServer methods and property
names.
2023-01-31 18:25:11 +01:00
Rémi Verschelde
97de7f39e1
Merge pull request #72404 from clayjohn/RD-sky-crash
Fix various crashes relating to low roughness_layers
2023-01-31 10:54:41 +01:00
Rémi Verschelde
dfb824c1d1
Merge pull request #72107 from rburing/separation_ray_normal
Fix separation ray normal direction
2023-01-31 10:54:34 +01:00
Rémi Verschelde
c24e0065b2
Merge pull request #72433 from clayjohn/Pointlight2D-crash
Avoid crash when CanvasTexture used with light decal atlas
2023-01-31 10:54:02 +01:00
Rémi Verschelde
c8446754dd
Merge pull request #72357 from aaronfranke/area-gravity-unit-dist
Replace Area gravity point distance scale with unit distance
2023-01-31 10:53:16 +01:00
Rémi Verschelde
628967e6ba
Merge pull request #72343 from clayjohn/editor-canvas-bg
Remove viewport_set_disable_environment in favor of viewport_set_environment_mode
2023-01-31 10:53:05 +01:00
clayjohn
cfd5fe0f29 Avoid crash when CanvasTexture used with light decal atlas
The decal atlas is used for Light2Ds, decals, and Light3Ds
2023-01-30 20:59:53 -08:00
clayjohn
9071809021 Remove viewport_set_disable_environment in favor of viewport_set_environment_mode
This allows us to set a default value inherited by child viewports and have child viewports set the value themselves which is needed for disabling the environment in the editor
2023-01-30 12:25:49 -08:00
clayjohn
bc64a734d3 Fix various crashes relating to low roughness_layers 2023-01-30 12:16:33 -08:00
Rémi Verschelde
e9de988020
Merge pull request #72031 from reduz/change-high-quality-texture-import
Refactor high quality texture import
2023-01-30 20:41:01 +01:00
Rémi Verschelde
58a0c4c69e
Merge pull request #72393 from clayjohn/GLES3-normal-roughness-error
Add a shader error when trying to using hint_normal_roughness_texture in the gl_compatibility renderer
2023-01-30 20:26:50 +01:00