clayjohn
a804556ab9
Add mutex when adding geometry instances to the dirty list in the Forward Clustered renderer
2023-01-20 10:34:19 -08:00
clayjohn
49bebf2bfb
Sort decals and lights based on camera origin
...
Also implement sort_offset for decals
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-01-20 09:58:17 -08:00
Rémi Verschelde
9fc40123ab
Merge pull request #71679 from kleonc/draw_polyline_line_strip
...
`CanvasItem::draw_polyline` Support thin polylines drawn using line strip
2023-01-20 08:48:56 +01:00
Peter Eastman
cd46fceb8b
Collision detection supports uniform scaling
2023-01-19 22:16:31 -08:00
clayjohn
2ccc69cd7d
Use proper space for forward GI reflections
2023-01-19 12:58:59 -08:00
kleonc
728c51e362
CanvasItem::draw_polyline Support thin polylines drawn using line strip
2023-01-19 21:08:25 +01:00
bitsawer
6f57aae0ab
Fix shader preprocessor memory leak
2023-01-19 22:06:59 +02:00
Rémi Verschelde
88cbd5d422
Merge pull request #71447 from peastman/normals
...
Analytic collision normals
2023-01-19 19:33:54 +01:00
Rémi Verschelde
65883cc73b
Merge pull request #71598 from bruvzg/gdscript_bidi_override
...
Implement BiDi override mode for GDScript source.
2023-01-19 19:33:18 +01:00
Rémi Verschelde
8b92316368
Merge pull request #71565 from RedworkDE/doc-arraymesh-add-surface
...
Fix LOD sort order; checks in add_surface; and document all parameters of `ArrayMesh::add_surface_from_arrays`
2023-01-19 19:32:37 +01:00
RedworkDE
be4eb3bbdd
Fix LOD sort order; checks in add_surface; and document all parameters of ArrayMesh::add_surface_from_arrays
...
Also clarify some related documentation and expose the misssing `ArrayFormat::ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY`
2023-01-19 10:30:25 +01:00
clayjohn
faea9f5c10
Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTURE
...
in favour of texture hints
2023-01-18 19:52:47 -08:00
Peter Eastman
31c2a24893
Analytic collision normals
2023-01-18 18:24:57 -08:00
bruvzg
5361ec9f43
Implement BiDi override mode for GDScript source.
2023-01-18 19:22:20 +02:00
kleonc
43fc483e6c
CanvasItem::draw_arc Clamp angle difference so arc won't overlap itself
2023-01-18 15:16:22 +01:00
clayjohn
b2a31a3bbf
Remove light from dynamic light list when removing scenario
2023-01-17 14:33:15 -08:00
clayjohn
c4a8284dec
Flag dirty dependencies when GeometryInstance dependencies change in renderer
...
Normally dependencies are only set dirty when changed during culling, but that misses changes that happen in the renderer (like a new shader being set in a material)
2023-01-17 12:39:13 -08:00
Rémi Verschelde
9cf0ffe1fa
Merge pull request #71524 from clayjohn/MOBILE-TAA
...
Warn when trying to enable TAA from mobile or gl_compatibility backend
2023-01-17 11:06:46 +01:00
Rémi Verschelde
59dcf64dd6
Merge pull request #71382 from jainl28patel/sprite2d_flip_normal_map
...
fix normal map not flipping in sprite2D
2023-01-17 10:56:44 +01:00
Rémi Verschelde
e1e30f9fc7
Merge pull request #71520 from conradhappeliv/fix-71480
...
Fix GPUParticles2D not recomputing transforms each frame
2023-01-17 10:14:32 +01:00
Conrad H. Appel, IV
ad6dd38795
Fix GPUParticles2D not recomputing transforms each frame
2023-01-16 14:10:58 -08:00
clayjohn
71ed83d301
Warn when trying to enable TAA from mobile or gl_compatibility backend
...
TAA should only be enabled from the forward_plus renderer for now
2023-01-16 13:32:40 -08:00
Rémi Verschelde
0ddd9c3e8f
Merge pull request #71526 from clayjohn/RD-sun-scatter
...
Properly initialize directional_light_count in RD sky shaders
2023-01-16 22:30:54 +01:00
Rémi Verschelde
2156250471
Merge pull request #62236 from MinusKube/master
...
Fix polyline not supporting closed polygons and not having a uniform width
2023-01-16 22:13:07 +01:00
clayjohn
8b3db6e9ce
Properly initialize directional_light_count in RD sky shaders
2023-01-16 13:05:52 -08:00
MinusKube
01af885e69
Fix draw_polyline not supporting closed polygons and not having a uniform offset
2023-01-16 20:27:30 +01:00
Rémi Verschelde
47689c7d51
Merge pull request #71502 from bruvzg/tooltip_clickthrough
...
Add `WINDOW_FLAG_MOUSE_PASSTHROUGH` flag and enabled it for tooltips.
2023-01-16 12:48:45 +01:00
Danil Alexeev
a8cbb6245b
Fix scaling issue in draw_line
and similar methods
2023-01-16 12:49:58 +03:00
bruvzg
34b34b104c
Add WINDOW_FLAG_MOUSE_PASSTHROUGH
flag and enabled it for tooltips. Expose window_set_mouse_passthrough
to Window
.
2023-01-16 11:42:49 +02:00
Raul Santos
7560340ef6
Rename center
method to get_center
in Plane.
2023-01-15 17:18:50 +01:00
Rémi Verschelde
ac104a69b8
Merge pull request #71309 from BastiaanOlij/improve_renderscaling_options
...
Improving communication of scaling settings to renderer implementation
2023-01-14 14:45:02 +01:00
jainl28patel
390f83bf5a
fix normal map not flipping in sprite2D
2023-01-14 11:51:56 +05:30
Rémi Verschelde
a51ca2beaf
Merge pull request #71346 from Chaosus/material_fix_freezing
...
Clear material arrays to prevent freeing of invalid texture RID
2023-01-14 00:44:18 +01:00
clayjohn
ccaebcd5e0
Avoid crashing when custom GLSL shaders are imported when using the gl_compatibility renderer
2023-01-13 12:53:19 -08:00
Yuri Rubinsky
01cddbb12a
Clear material arrays to prevent freeing of invalid texture RID
2023-01-13 23:25:09 +03:00
Bastiaan Olij
478c37deb8
Improving communication of scaling settings to renderer implementation
2023-01-13 12:54:15 +11:00
clayjohn
131036a5ef
Only setup depth framebuffer properties when not rendering ReflectionProbes
2023-01-12 16:19:12 -08:00
Clay John
21893140eb
Merge pull request #71289 from RandomShaper/avoid_color_flash
...
Avoid color flash on window creation and resizing
2023-01-12 14:39:41 -08:00
Pedro J. Estébanez
d0e37cd04c
Add framework for avoidance of color flash in new windows
2023-01-12 21:42:51 +01:00
Rémi Verschelde
800216924c
Merge pull request #70787 from peastman/cylinder
...
Analytic sphere-box, sphere-cylinder, and capsule-cylinder collisions
2023-01-12 20:08:03 +01:00
Rémi Verschelde
f82352be87
Merge pull request #70660 from Malcolmnixon/collision_sphere_capsule
...
Fix sphere-capsule collision logic
2023-01-12 20:07:02 +01:00
Rémi Verschelde
a5dedfe260
Merge pull request #70731 from smix8/navigationserver_performance_monitor_4.x
...
Add NavigationServer Performance Monitor
2023-01-12 10:36:18 +01:00
Rémi Verschelde
1f171ff18b
Merge pull request #71261 from clayjohn/RD-alpha-aa
...
Take alpha antialising options into account when setting up materials
2023-01-12 08:19:16 +01:00
clayjohn
0ae567b00a
Take alpha antialising options into account when setting up materials
...
This restores the functionality of the alpha antialising options
2023-01-11 21:29:36 -08:00
Rémi Verschelde
0abd60b953
Merge pull request #71130 from clayjohn/RD-normal-roughness
...
Fix multiple issues that make the normal roughness texture unusable
2023-01-12 01:01:24 +01:00
Rémi Verschelde
201673ecd8
Merge pull request #71124 from clayjohn/forward-prepass
...
Only disable depth writing in opaque pipelines
2023-01-12 00:55:10 +01:00
Rémi Verschelde
9c02bf1b11
Merge pull request #70707 from mihe/bind-physics-exclude
...
Bind methods related to physics query exclusions
2023-01-11 10:36:53 +01:00
Rémi Verschelde
8cb63cdd55
Merge pull request #70475 from BastiaanOlij/cleanup_luminance
...
Move luminance effect into its own class and use new buffers system
2023-01-11 01:10:37 +01:00
Ricardo Buring
3efa105548
Add get_contact_impulse method to PhysicsDirectBodyState2D
...
This makes it consistent with 3D.
2023-01-10 23:28:02 +01:00
clayjohn
89766848de
Fix multiple issues that make the normal roughness texture unusable
2023-01-09 11:56:36 -08:00
clayjohn
e5abca4990
Only disable depth writing in opaque pipelines
...
This restores the behaviour of the visibility fade
2023-01-09 09:45:43 -08:00
Pedro J. Estébanez
5ca2ba45f1
Make inclusion of Godot version in shader hash universal
2023-01-09 17:47:02 +01:00
Rémi Verschelde
e7905f4f48
Merge pull request #71045 from reduz/use-bitfield-in-core-types
...
Use BitField<> in core type masks
2023-01-09 08:33:26 +01:00
smix8
9802914f97
Add NavigationServer Performance Monitor
...
Adds Performance Monitor for NavigationServer3D.
2023-01-08 22:58:21 +01:00
Rémi Verschelde
378d589e2d
Merge pull request #71037 from reduz/array-format-bitfield
...
Use BitField<> hint for Mesh.ArrayFormat and Control.SizeFlags
2023-01-08 22:51:03 +01:00
Rémi Verschelde
c3c5eceb35
Merge pull request #70463 from DarkKilauea/nav-server-const
...
[4.x] Rework const on NavigationServer methods
2023-01-08 22:50:05 +01:00
Rémi Verschelde
1e32a286f3
Merge pull request #70281 from CherrySodaPop/get-impulse-3d
...
Implement collision impulse in Godot Physics 3D
2023-01-08 22:40:06 +01:00
Juan Linietsky
2b815df3c1
Use BitField<> in core type masks
...
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
Juan Linietsky
47592927b3
Use BitField<> hint for ArrayFormat
...
This was missing in the conversion of bitflags to BitField<>.
2023-01-08 18:47:48 +01:00
Lily Garcia
8ee6264cc9
Implement collision impulse in Godot Physics 3D
2023-01-07 22:34:28 -05:00
Josh Jones
a0715b30f9
Rework const on NavigationServer methods
...
`const` is used on all methods, even when they cause modification of the server. This reworks the methods of the server to only use `const` on method that don't change the state of the server.
2023-01-07 17:29:00 -08:00
Rémi Verschelde
d642274f75
Merge pull request #70939 from bruvzg/win_screen_2
...
Add support for the custom initial screen for the main window, fix primary screen detection.
2023-01-07 13:21:36 +01:00
Rémi Verschelde
57540ae00d
Merge pull request #70858 from Malcolmnixon/fast-concave-support
...
Optimize GodotConvexPolygonShape3D::get_support
2023-01-07 13:17:39 +01:00
bruvzg
2718a7b7d3
Add support for the custom initial screen for the main window, fix primary screen detection.
2023-01-07 11:14:35 +02:00
Bastiaan Olij
9b549231e4
Move luminance effect into its own class and use new buffers system
2023-01-07 14:40:42 +11:00
Rémi Verschelde
163f6f5fe8
Merge pull request #68429 from KoBeWi/PropertySettings
...
Add PropertyInfo overload for GLOBAL_DEF
2023-01-06 22:59:29 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde
a5e43daca1
Merge pull request #70929 from clayjohn/RD-mobile
...
Use proper indices for lights, decals, and reflection probes in mobile scene shader
2023-01-05 12:57:46 +01:00
Rémi Verschelde
0668b64c32
Merge pull request #70924 from clayjohn/canvas-bg-bugs
...
Always try to clear render target before drawing 3D with Canvas BG mode
2023-01-05 12:57:39 +01:00
clayjohn
aaa9d626f3
Use proper indices for lights, decals, and reflection probes in mobile scene shader
2023-01-04 14:03:48 -08:00
clayjohn
72bc7e5a9d
Always try to clear render target before drawing 3D with Canvas BG mode
...
This is necessary to ensure that we aren't copying garbage data to the 3D renderbuffer
2023-01-03 15:46:03 -08:00
Rémi Verschelde
0160fea1ce
Merge pull request #70884 from clayjohn/Depth-prepass
...
Ignore depth draw optimization when using depth draw alpha prepass
2023-01-03 23:23:29 +01:00
Rémi Verschelde
698ee56e54
Merge pull request #70638 from markusneg/cull-masked-shadows-gd4
...
Visual instance layers are regarded during shadow culling
2023-01-03 23:22:31 +01:00
clayjohn
062fb8b0dc
Ignore depth draw optimization when using depth draw alpha prepass
...
This is necessary as the scene shader still uses alpha in this case so we can't discard fragments that weren't written to the depth buffer
2023-01-03 12:33:07 -08:00
Rémi Verschelde
8791e333da
Merge pull request #70624 from bruvzg/cur_sc
...
Improve `window_set_current_screen` and fix secondary window initial mode and positions.
2023-01-03 15:56:05 +01:00
Rémi Verschelde
432c0dee7c
Merge pull request #70708 from rburing/bind_pin_joint_set_param_2d
...
Bind setter and getter for pin joint parameters in `PhysicsServer2D`
2023-01-03 12:39:43 +01:00
Rémi Verschelde
151e1355e8
Merge pull request #63650 from fabriceci/apply-moving-platform-angular-velocity
...
Allow to apply the angular velocity of a moving platform
2023-01-03 12:39:35 +01:00
Rémi Verschelde
1b634c06d0
Merge pull request #69972 from adamscott/add-server-checks-before-free
...
Add safety-checks before some servers `free()`
2023-01-03 12:22:24 +01:00
Rémi Verschelde
6d7f6c1eb9
Merge pull request #70654 from Malcolmnixon/concave_collisions
...
Fix move_and_collide for concave CharacterBody3D objects
2023-01-03 12:20:11 +01:00
Malcolm Nixon
37e4f8befa
Micro-optimizations of the GodotConvexPolygonShape3D::get_support function. Specifically this uses pointer-array-dereference rather than LocalVector<T> dereference as this performs range-checking on known-good indexes.
...
Added more comments. Changed loops back to classic for-iteration style.
2023-01-02 21:15:46 -05:00
Peter Eastman
d1f95c75cc
Analytic sphere-box, sphere-cylinder, and capsule-cylinder collisions
2023-01-02 12:30:16 -08:00
Malcolm Nixon
220e8a0390
Modified the collision_sphere_capsule function to only test the one "correct" axis which corresponds to the correct collision normal.
...
Added logically identical fix to the capsule/capsule collision, and verified it now produces correct collision points and normals.
Added analytic_sphere_collision helper function which reports the A and B points directly without using SAT.
Modified _collision_sphere_sphere, _collision_sphere_capsule, and _collision_capsule_capsule to use the new analytic_sphere_collision.
Fix white-space issue
Additional code formatting fixes.
Updated new analytic_sphere_collision to correctly handle null collector callback.
2023-01-02 14:52:19 -05:00
Adam Scott
ea33001b95
Add safety-checks before some servers free()
2022-12-29 16:23:38 -05:00
Mikael Hermansson
ba8af83679
Bind methods related to physics query exclusions
2022-12-29 19:29:08 +01:00
Ricardo Buring
6bc313c765
Bind setter and getter for pin joint parameters in PhysicsServer2D
2022-12-29 17:36:08 +01:00
bruvzg
f7955633de
Improve window_set_current_screen
and fix secondary window initial mode and positions.
2022-12-29 09:43:39 +02:00
Malcolm Nixon
dfa2a0c9ae
Remove unnecessary bail-out if shape A is concave. The test for A being concave is already performed later.
2022-12-27 20:45:43 -05:00
Markus Grafen
041b64ea7e
visual instance layers are regarded during shadow culling
...
Partially cherry-picked from 16517ecb
. Todos:
- setting Camera cull_mask should mark affected shadows dirty somehow
2022-12-27 18:43:53 +01:00
Bastiaan Olij
8bf16b0ce5
Fix errors related to reflection probe now using a render buffers object
2022-12-26 22:23:22 +11:00
Rémi Verschelde
f064898956
Merge pull request #70253 from BastiaanOlij/cleanup_sky_render
...
Cleanup and improve sky render
2022-12-23 23:44:02 +01:00
Rémi Verschelde
d8a0382e3f
Merge pull request #70476 from BastiaanOlij/move_sdfgi_init
...
Move SDFGI update logic into clustered renderer
2022-12-23 23:43:56 +01:00
Rémi Verschelde
2e07477751
Merge pull request #70214 from Ansraer/speed-maybe
...
[4.x] Use depth prepass to increase opaque render performance
2022-12-23 23:43:50 +01:00
Ansraer
d44a91c2f7
use depth prepass to increase performance
2022-12-23 17:15:46 +01:00
Mikael Hermansson
c1379523ea
Bind methods related to disabling collision between joint bodies
2022-12-23 14:16:33 +01:00
Bastiaan Olij
65ca9e6924
Move SDFGI update logic into clustered renderer
2022-12-24 00:00:11 +11:00
Rémi Verschelde
1cab6c91e9
Merge pull request #69998 from BastiaanOlij/sorting-pivot-4
...
Added options for sorting transparent objects (port of PR #63040 )
2022-12-23 09:47:24 +01:00
Bastiaan Olij
e886a7af81
Cleanup and improve sky render
2022-12-23 19:45:19 +11:00
Bastiaan Olij
6f4f38db07
Added options for sorting transparent objects (port of PR 63040)
2022-12-23 19:30:33 +11:00
Rémi Verschelde
56b828eb82
Merge pull request #70457 from clayjohn/RD-particles-update
...
Avoid updating particles during 2D rendering
2022-12-23 09:11:58 +01:00
Rémi Verschelde
13850d7812
Merge pull request #70455 from clayjohn/RD-particle-trail
...
Check for disabled particle trail particle before initializing particle trail
2022-12-23 09:11:48 +01:00