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
EpEpDragon
36d02882b9
Added optional offset and size parameter to RenderDevice buffer_get_data method
2023-01-06 17:08:37 +02: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
stmSi
2041616934
Fix Editor hanging if audiostream's pitch_scale is NaN
2022-12-24 12:39:48 +06:30
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
Yuri Rubinsky
f28348fc5c
Fix shader crash when using boolean type for vertex->fragment varyings
2022-12-23 07:47:49 +03:00
clayjohn
41021b07be
Avoid updating particles during 2D rendering
...
In 2D the particle uniform set isn't obtained until the render pass. So in 2D just avoid rendering if not updated yet.
2022-12-22 12:04:34 -07:00
clayjohn
4d301ee21e
Check for disabled particle trail particle before initializing particle trail
2022-12-22 11:30:59 -07:00
Rémi Verschelde
291add339f
Merge pull request #70422 from clayjohn/RD-trails
...
Disable particle trails particles when parent parent is not active.
2022-12-21 23:38:04 +01:00
clayjohn
eb10c71d6c
Disable particle trails particles when parent parent is not active.
2022-12-21 15:19:57 -07:00
Rémi Verschelde
29464cb9dc
Merge pull request #70418 from clayjohn/RD-particles
...
Ensure that particles are processed at least once before being used
2022-12-21 22:46:30 +01:00
clayjohn
886cae515c
Ensure that particles are processed at least once before being used
2022-12-21 14:06:05 -07:00
Rémi Verschelde
5ad02aa08d
Merge pull request #67111 from DarkKilauea/nav-queries-link
...
Added signal to NavigationAgent when entering a link
2022-12-21 19:38:20 +01:00
Rémi Verschelde
63f95c0e58
Merge pull request #70366 from quentinguidee/refactoring/fix-double-get-singleton
...
Fix double get_singleton()
2022-12-21 09:27:02 +01:00
Rémi Verschelde
4f3ec4121a
Merge pull request #70350 from Chaosus/stringname_operator
...
Add missing != operator to `StringName`
2022-12-21 09:21:32 +01:00
MrBlockers
569ead5762
Add optional arguments to AudioStreamRandomizer
...
Adds stream and weight parameters to add_stream. By default, weight is
1.0f.
2022-12-20 18:48:02 -05:00
Quentin Guidée
d9c05f7fbd
Fix double get_singleton()
...
Signed-off-by: Quentin Guidée <quentin.guidee@gmail.com>
2022-12-20 14:26:15 -05:00
Yuri Rubinsky
522d4243bf
Add missing != operator to `StringName`
2022-12-20 17:25:54 +03:00
Rémi Verschelde
f318d60e06
Merge pull request #65376 from reduz/astc-support
...
Implement basic ASTC support
2022-12-20 12:44:30 +01:00
Juan Linietsky
71d21c7ccb
Implement basic ASTC support
...
Implements basic ASTC support:
* Only 4x4 and 8x8 block sizes.
* Other block sizes are too complex to handle for Godot image compression handling. May be implemented sometime in the future.
The need for ASTC is mostly for the following use cases:
* Implement a high quality compression option for textures on mobile and M1 Apple hardware.
* For this, the 4x4 is sufficient, since it uses the same size as BPTC.
ASTC supports a lot of block sizes, but the benefit of supporting most of them is slim, while the implementation complexity in Godot is very high.
Supporting only 4x4 (and 8x8) solves the real problem, which is lack of a BPTC alternative on hardware where it's missing.
Note: This does not yet support encoding on import, an ASTC encoder will need to be added.
2022-12-20 11:26:30 +01:00
Rémi Verschelde
1dad415131
Merge pull request #70300 from RandomShaper/depth_format
...
Ensure depth buffer format picked actually supports full intended usage
2022-12-19 17:11:24 +01:00
Rémi Verschelde
adc1096b19
Merge pull request #70219 from bruvzg/msdf_outline_scaling
...
Scale MSDF font outline with the font size and MSDF source size to match dynamic font behavior.
2022-12-19 16:26:56 +01:00
Rémi Verschelde
f117487ddb
Merge pull request #70236 from quentinguidee/refactor/delete-nullptr
...
AudioServer: Remove redundant nullptr check before `delete`
2022-12-19 16:26:39 +01:00
Pedro J. Estébanez
d8283550e6
Ensure depth buffer format picked actually supports full intended usage
2022-12-19 16:23:33 +01:00
Rémi Verschelde
e9f3e7111f
Merge pull request #70237 from quentinguidee/refactor/fix-comma-instead-of-semicolon
...
Fix use of comma instead of semicolon
2022-12-18 16:55:10 +01:00
Quentin Guidée
e0f1e02cc7
Fix use of comma instead of semicolon
...
Signed-off-by: Quentin Guidée <quentin.guidee@gmail.com>
2022-12-17 20:17:04 -05:00
Quentin Guidée
7465ca9587
Remove redundant nullptr check before delete
2022-12-17 19:57:16 -05:00
Josh Jones
5d8ba2b2d1
Add support for emitting a signal when entering a NavLink
2022-12-17 16:33:41 -08:00
smix8
34e7628f5f
Fix Navigation API abbreviations inconsistency
...
Schema for navigation to name user facing API with "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
2022-12-17 22:06:22 +01:00
bruvzg
20d9457f9d
Scale MSDF font outline with the font size and MSDF source size to match dynamic font behavior.
2022-12-17 22:47:54 +02:00
smix8
4d68e2b18a
Move NavigationPolygon to dedicated resource file
...
Moves NavigationPolygon resource class from NavigationRegion2D file to a dedicated file in resource folder.
2022-12-17 19:52:40 +01:00
Rémi Verschelde
c903312572
Merge pull request #70160 from Geekotron/ccd-regression-fix-70154
...
Fix regression 70154 caused by my prior CCD fix.
2022-12-17 14:03:43 +01:00
Rémi Verschelde
2b056115ef
Merge pull request #70091 from clayjohn/bone-aabbs
...
Remove mesh bone_aabbs as they are not used anywhere and calculating them is a pain
2022-12-17 12:32:32 +01:00
Rémi Verschelde
676f60b0cc
Merge pull request #70132 from clayjohn/RT-update
...
Implement render_target_was_used API so that Viewports can properly check if they have been used.
2022-12-17 12:26:51 +01:00
Rémi Verschelde
376290ea86
Merge pull request #70163 from clayjohn/particles-sdf
...
Transform sdf xfrom by particle emission transform when particles are in global space
2022-12-17 12:24:51 +01:00
Rémi Verschelde
740e5a6404
Merge pull request #70172 from clayjohn/RD-boot-filter
...
Enable using filtering on boot image in RD renderer
2022-12-17 12:24:24 +01:00
Rémi Verschelde
3b6d697676
Merge pull request #70133 from lyuma/negative_scale_backface
...
Flip culling when rendering a camera with negative scale
2022-12-17 12:22:18 +01:00
Rémi Verschelde
2b2c372dbc
Merge pull request #70122 from clayjohn/VRS-r8uint
...
Don't attempt to create or use an R8_UINT texture as storage if VRS is not supported
2022-12-17 12:22:03 +01:00
Rémi Verschelde
13593d8644
Merge pull request #70087 from clayjohn/mesh-aabb
...
Cache mesh AABB when modified by skeleton and update instance AABB when skeleton changes
2022-12-17 12:21:01 +01:00
clayjohn
669a87bd89
Enable using filtering on boot image in RD renderer
2022-12-16 13:42:03 -08:00
clayjohn
99a159cd9b
Transform sdf xfrom by particle emission transform when particles are in global space
2022-12-16 11:55:11 -08:00
Geekotron
ae55229618
Fix regression 70154 caused by my prior CCD fix.
...
At high velocities `from - motion *.1` is *behind the RB* - not within its collider as the comment suggested - so it could not be used for determining movement length
2022-12-16 11:39:19 -07:00
clayjohn
5e90b90a97
Don't attempt to create or use an R8_UINT texture as storage if VRS is not supported
2022-12-16 09:53:12 -08:00
clayjohn
1b330820bf
Implement render_target_was_used API so that Viewports can properly check if they have been used.
...
For the RD renderer, this does not work for Viewports used in scene shaders yet
2022-12-16 09:50:45 -08:00
Haoyu Qiu
207e52c161
Fix String::word_wrap() for long words
...
- Changes `TextServer.string_get_word_breaks()`
- Returns pairs of boundary start and end offsets
- Accepts `chars_per_line` to return line breaks
- Removes `String::word_wrap()`
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-12-16 13:18:57 +08:00
Lyuma
80dea918c4
Flip culling when rendering a camera with negative scale
2022-12-15 16:12:10 -08:00
bruvzg
53c76fa5d1
[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables.
2022-12-15 23:16:02 +02:00
Yuri Rubinsky
5c83e95103
Merge pull request #70016 from Chaosus/refactor_rd_shader_data
...
fixed https://github.com/godotengine/godot/issues/69949
2022-12-15 20:28:26 +03:00
Yuri Rubinsky
807632a90c
Changed `STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT` type to enum flags
2022-12-15 14:10:37 +03:00
Rémi Verschelde
762c6d4b36
Merge pull request #69709 from RandomShaper/refactor_spirv_reflection
...
Refactor SPIR-V reflection into a generic RenderingDevice feature
2022-12-15 09:21:35 +01:00
Rémi Verschelde
a194984e96
Merge pull request #70068 from clayjohn/mobile-lights
...
Initialize light index push constants to 0xFFFFFFFF instead of 0xFFFF
2022-12-15 09:20:44 +01:00
Rémi Verschelde
e1bcadd12d
Merge pull request #56804 from Calinou/ssr-add-max-roughness-cutoff
...
Add maximum roughness cutoff to SSR to improve performance
2022-12-15 09:20:29 +01:00
Yuri Rubinsky
56954485ed
Refactor `ShaderData` & fix the sorting of shader uniforms
2022-12-15 10:02:59 +03:00
clayjohn
ef246d9156
Remove mesh bone_aabbs as they are not used anywhere and calculating them is a pain
2022-12-14 19:32:19 -08:00
clayjohn
b7088bbf52
Cache mesh AABB when modified by skeleton and update instance AABB when
...
skeleton changes
2022-12-14 18:07:07 -08:00
clayjohn
7b0dd7a3e6
Initialize light index push constants to 0xFFFFFFFF instead of 0xFFFF
2022-12-14 15:20:54 -08:00
Rémi Verschelde
feea39f3cf
Merge pull request #69934 from Geekotron/physics3d-ccd-fixes
...
Fix Physics3D and Physics2D CCD sometimes adjusting velocity too much
2022-12-14 11:25:41 +01:00
Geekotron
57710897d6
Fix Physics3D and Physics2D CCD sometimes adjusting velocity too much (preventing collision) or not enough (allowing tunneling)
2022-12-13 18:01:21 -07:00
Rémi Verschelde
465d4c1d95
Merge pull request #70009 from clayjohn/glow-hq
...
Remove high quality glow as it is not any higher quality than regular glow
2022-12-13 23:32:15 +01:00
Rémi Verschelde
fc517e6c89
Merge pull request #70003 from clayjohn/GLES3-cc
...
Various fixes and documentation for CanvasGroup
2022-12-13 23:31:43 +01:00
clayjohn
bdd4001ef0
Various fixes and documentation for CanvasGroup
...
Properly apply custom materials with CanvasGroups in the GLES3 backend
Properly blur backbuffer when using a partial rect in forward_plus and
gl_compatibility renderers
Properly set fit_margin when clear_margin is set
Fix shader error during backbuffer clear in mobile renderer
2022-12-13 10:22:18 -08:00
clayjohn
5b5cd2b98b
Remove high quality glow as it is not any higher quality than regular glow
2022-12-13 10:15:45 -08:00
Rémi Verschelde
83281e7a42
Merge pull request #69985 from clayjohn/mobile-rim
...
Ensure that rim lighting uses an exponent base greater than zero
2022-12-13 10:12:00 +01:00
Rémi Verschelde
4bfd21b515
Merge pull request #69828 from clayjohn/SSR-roughness
...
Fade out SSR with roughness so that it doesn't show at high roughness amounts
2022-12-13 10:10:56 +01:00
clayjohn
a062798b76
Ensure that rim lighting uses a exponent base greater than zero
...
This avoids the undefined behavior that happens if the base is zero and the exponent is zero
2022-12-12 13:41:28 -08:00
Fabio Iotti
c53c687962
Fix screen texture slightly darker
2022-12-12 21:17:36 +01:00
Pedro J. Estébanez
14e301467e
Refactor SPIR-V reflection into a generic RenderingDevice feature
2022-12-12 14:14:53 +01:00
Rémi Verschelde
ec8f52df8f
Merge pull request #69629 from smix8/agent_wild_callback_pointer_4.x
...
Fix Navigation agent callback wild pointer crash
2022-12-12 13:51:48 +01:00
smix8
194c1c44e0
Fix Navigation agent callback wild pointer crash
...
Fixes crash in sanitizer builds when callback agent or object are already freed.
2022-12-12 13:03:55 +01:00
Rémi Verschelde
f1edd03d4c
Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextension
...
Rename all gdnative occurences to gdextension
2022-12-12 11:43:59 +01:00
Gilles Roudière
be1c9d677d
Rename all gdnative occurences to gdextension
...
Non-exhaustive list of case-sensitive renames:
GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension ->Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:04:57 +01:00
kobewi
7c6b659bd7
Add PropertyInfo overload for GLOBAL_DEF
2022-12-11 21:36:48 +01:00
Yuri Rubinsky
6e48db69a3
Changed `RD::PipelineDynamicStateFlags` type to enum flags
2022-12-11 15:37:35 +03:00
Rémi Verschelde
60a376ae52
Merge pull request #69852 from rburing/heightmap_shape_typo_bugfix
...
Fix typo bug in heightmap shape
2022-12-11 11:51:46 +01:00
Josh Jones
5769b0e8d8
Enable assigning an owner to navigation regions and links
...
This allows users of the server APIs to get back the nodes that created certain regions and links.
2022-12-10 12:03:06 -08:00
Hugo Locurcio
7745bd42a6
Add maximum roughness cutoff to SSR to improve performance
...
In a test scene with mixed rough and non-rough materials, this saves
upwards of 0.15 ms of GPU time with very little visual artifacting
(GTX 1080, 2560×1440).
2022-12-10 17:35:18 +01:00
Ricardo Buring
55eceb5150
Fix typo bug in heightmap shape
2022-12-10 12:57:43 +01:00
Hugo Locurcio
35d788cff5
Remove warning when playing random no-repeat sound with only 1 sound in pool
...
This makes setting up sounds for random pitch/volume faster, as you
don't have to change the mode from Random (Avoid Repeats) to Random
anymore if you only care about randomizing pitch/volume but want
to prevent a warning message from appearing on every playback.
2022-12-09 23:06:51 +01:00
clayjohn
e6f8c8517c
Fade out SSR with roughness so that it doesn't show at high roughness amounts
2022-12-09 12:59:51 -08:00
Rémi Verschelde
60d7525d84
Merge pull request #69735 from clayjohn/Particles2D-sdf
...
Detect and report if 2D particles use the screen SDF
2022-12-08 09:52:01 +01:00
clayjohn
0a88c68d0a
Detect and report if 2D particles use the screen SDF
...
This ensures that the SDF is updated even if not used in a canvas_item shader
2022-12-07 10:03:08 -08:00
Rémi Verschelde
0a3f66471e
Merge pull request #69712 from bruvzg/real_size
...
Rename `window_get_real_size`, add position counterpart.
2022-12-07 14:29:46 +01:00
Rémi Verschelde
ce5464cb42
Merge pull request #69091 from CherrySodaPop/vr-texel-zero-division
...
Fix VRS object being created even when not supported
2022-12-07 13:26:08 +01:00
Rémi Verschelde
de6994aa95
Merge pull request #69674 from rburing/conStraint
...
Fix typo in physics step: contraint -> constraint
2022-12-07 13:25:28 +01:00
Lily Garcia
e328a0bcf8
Check if VRS is supported on creating VRS object
2022-12-07 13:00:13 +01:00
bruvzg
edf13eb5a6
Rename `window_get_real_size` to `window_get_size_with_decorations`, add `window_get_position_with_decorations`.
2022-12-07 11:07:30 +02:00
Markus Sauermann
e18107a57c
Fix Determining Window for Touchscreen
...
DisplayServer::screen_is_touchscreen will likely never utilize its
parameter p_screen.
This PR replaces this function by DisplayServer::is_touchscreen_available()
with the same functionality.
This solves the problem, that a SubViewport was used for determining
the screen, which resulted in error messages.
2022-12-07 09:54:29 +01:00
Rémi Verschelde
c241f1c523
Merge pull request #69671 from rburing/cylinder-cylinder_sat_typo
...
Fix typo in cylinder-cylinder SAT collision solver
2022-12-06 17:44:10 +01:00
Ricardo Buring
53e90bd6ca
Fix typo in physics step: contraint -> constraint
2022-12-06 17:32:45 +01:00
Ricardo Buring
e2b013380d
Fix typo in cylinder-cylinder SAT collision solver
2022-12-06 16:43:45 +01:00
Rémi Verschelde
c83695c0b5
Merge pull request #69657 from rburing/degenerate_capsule_has_no_edge
...
Fix collision detection for degenerate capsules
2022-12-06 15:16:44 +01:00
Rémi Verschelde
bd290ad566
Merge pull request #69636 from Malcolmnixon/vulkan-mobile-sky-matrix
...
Fix mobile renderer sky_transform operations
2022-12-06 15:16:20 +01:00
Ricardo Buring
29ab86aa7d
Fix collision detection for degenerate capsules
...
In GodotCapsuleShape3D::get_supports and
GodotCapsuleShape2D::get_supports, return a point instead of an edge of
length zero in case the capsule degenerates to a sphere or circle.
2022-12-06 14:17:24 +01:00
Malcolm Nixon
0f8a968cd4
Modified the mobile renderer to apply the sky_transform operations in the same order as the forward_plus renderer.
...
Update rasterizer_scene_gles3.cpp
Apply sky_transform order fix to the gles3 renderer.
2022-12-06 06:47:50 -05:00
Rémi Verschelde
43e9ca40ff
Merge pull request #65035 from nathanfranke/fix-aabb-mesh
...
Fix AABB errors on meshes with bones on multiple surfaces
2022-12-06 12:26:03 +01:00
Yaohua Xiong
9bdc0cb16f
draw fish bones for Path2D and Path3D
...
These fish bones are add to indicate the direction and local transforms alone the path.
2022-12-05 15:39:14 +08:00
Rémi Verschelde
a0365c140a
Merge pull request #68995 from bruvzg/sys_font_for_text
...
Use system fonts as fallback.
2022-12-05 00:05:49 +01:00
Nathan Franke
aef261aa2a
fix aabb errors on meshes with bones on multiple surfaces
2022-12-04 14:40:19 -06:00
bruvzg
ecec415988
Use system fonts as fallback and improve system font handling.
...
Add support for font weight and stretch selection when using system fonts.
Add function to get system fallback font from a font name, style, text, and language code.
Implement system font support for Android.
Use system fonts as a last resort fallback.
2022-12-04 18:44:20 +02:00
NumbuhFour
1b09fd5410
Implement CAMERA_VISIBLE_LAYERS as built-in shader variable
2022-12-03 22:41:27 -08:00
Rémi Verschelde
daf168f4c8
Merge pull request #69522 from clayjohn/IBL-black-metal
...
Allow black metallic materials to reflect IBL
2022-12-03 12:46:30 +01:00
Rémi Verschelde
29ddbfa19a
Merge pull request #69514 from clayjohn/IBL-roughness
...
Properly remap roughness when reading from radiance map
2022-12-03 12:46:25 +01:00
clayjohn
1e05dd3504
Allow black metallic materials to reflect IBL
2022-12-02 19:54:59 -08:00
clayjohn
b2b89d7294
Properly remap roughness when reading from radiance map
...
This ensures that we consistently use perceptual roughness which matches the behaviour of most other PBR renderers like Blender, Ue4 and Godot 3
2022-12-02 15:39:20 -08:00
Rémi Verschelde
7ef9947d0e
Merge pull request #68870 from dsnopek/master-webxr-input
...
Get WebXR fully working in Godot 4!
2022-12-02 12:24:40 +01:00
David Snopek
310bf39cd3
Get WebXR fully working in Godot 4!
2022-12-01 21:46:30 -06:00
Rémi Verschelde
1bd7b0b269
Merge pull request #69430 from Rindbee/fix-clip-contents
...
Fix child nodes still being drawn when the visible area of a control with `clip_contents` enabled is `0`
2022-12-01 23:55:18 +01:00
Rémi Verschelde
8177e5d7de
Merge pull request #69325 from clayjohn/GLES3-skeletons
...
Add Skeletons and Blend Shapes to the OpenGL renderer
2022-12-01 23:22:42 +01:00
Rindbee
7129718dc5
Fix child nodes still being drawn when the visible area of a control with `clip_contents` enabled is `0`
2022-12-01 19:47:33 +08:00
kobewi
9a3960daa5
Simplify GDVIRTUAL_REQUIRED_CALL calls
2022-11-30 18:36:57 +01:00
clayjohn
f33ffd9ab4
Add Skeletons and Blend Shapes to the OpenGL renderer
...
This uses a similar multipass approach to blend shapes
as Godot 3.x, the major difference here is that we
need to convert the normals and tangents to octahedral
for rendering.
Skeletons work the same as the Vulkan renderer except the bones
are stored in a texture as they were in 3.x.
2022-11-29 09:45:03 -08:00
Yuri Rubinsky
5934eef44c
Changed `RenderingDevice::TextureUsageBits` type to enum flags
2022-11-26 13:08:07 +03:00
Rémi Verschelde
5d20dccade
Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources
2022-11-24 14:06:00 +01:00
Rémi Verschelde
f319123af9
Merge pull request #69037 from M-O-Marmalade/distortion-fixes
...
AudioEffectDistortion docs & inspector edits
2022-11-24 10:47:27 +01:00
Ricardo Buring
4453d63bb0
Update remaining physics exclude parameters to use TypedArray
...
Also update the documentation to refer to the get_rid() method.
2022-11-23 19:39:04 +01:00
Rémi Verschelde
714b978044
Merge pull request #69005 from akien-mga/shaderlang-sampler-uniforms-array-type
...
Shader: Set proper resource type hints for sampler uniforms
2022-11-23 08:33:05 +01:00
M-O-Marmalade
8ea0d727f0
AudioEffectDistorion docs & inspector edits
...
Fixing a few typos in the AudioEffectDistortion docs, making a few
things clearer, etc
Also adding the decibel (dB) suffix to the pre/post gain properties in
the inspector.
2022-11-22 17:38:13 -08:00
Rémi Verschelde
7f8ecffa56
Merge pull request #69017 from raulsntos/physics3d-array
...
Change exclude property in `PhysicsRayQueryParameters3D` to TypedArray
2022-11-22 21:48:40 +01:00
Rémi Verschelde
52f65cdb44
Merge pull request #69019 from Sauermann/fix-framebuffer-hashparameter
...
Fix parameters for hash_murmur3_one_32
2022-11-22 21:38:31 +01:00
Rémi Verschelde
834c7ff2c0
Merge pull request #68997 from ueshita/fix_verts_65536
...
Fix some switching decisions for index format. (vertex length 65536)
2022-11-22 21:37:17 +01:00
Markus Sauermann
75d56f4201
Fix parameters for hash_murmur3_one_32
...
In multiple locations in the codebase hash_murmur3_one_32 is used for
generating hash values.
Whenever a sequence of multiple hash-calculation happens within a single
function, the previous hash value is always used as input in the following
hash-calculations. The only exception is get_cache_multipass, where currently the previous
hash value is overridden without utilizing it.
This patch corrects that.
2022-11-22 19:46:54 +01:00
Rémi Verschelde
cb1826deae
Shader: Set proper resource type hints for sampler uniforms
...
Supersedes #64383 .
2022-11-22 15:38:52 +01:00
dzil123
b4437cbaa6
Fix various missing rendering parameter checks
2022-11-22 03:48:32 -08:00
Rémi Verschelde
e7418cac3d
Merge pull request #68942 from Chaosus/barrier_mask_flags
...
Expose `BarrierMask` as flags enum in `RenderingDevice`
2022-11-22 08:31:12 +01:00
Yuri Rubinsky
acaf38cfbc
Expose `BarrierMask` as flags enum in `RenderingDevice`
2022-11-22 09:45:20 +03:00
ueshita
454116716e
Fix some switching decisions for index format.
2022-11-22 00:09:48 +09:00
Rémi Verschelde
a9a75e643e
Merge pull request #68527 from pkdawson/vertex-array-offsets
...
Add `offsets` parameter to RenderingDevice::vertex_array_create
2022-11-21 11:43:28 +01:00
Markus Sauermann
28af870750
Code simplifications found by cppcheck
...
They are based on:
- Boolean arithmetic simplifications
- setting variables that are not accessed
- constant variables
2022-11-21 08:43:36 +01:00
Rémi Verschelde
4a52fb828f
Merge pull request #68884 from dzil123/create_local_rendering_device_null_check_docs
...
RenderingServer::create_local_rendering_device - Add null check and update docs
2022-11-20 11:44:10 +01:00
Rémi Verschelde
137327812b
Merge pull request #68876 from dzil123/renderdummy_texture_replace_null_check
...
RenderDummy::TextureStorage::texture_replace add missing null check
2022-11-20 11:36:04 +01:00
Rémi Verschelde
3a43d44656
Merge pull request #68830 from Ayush-singla27/issuebranch
...
fixed incorrect mesh normals in shaders
2022-11-20 11:35:52 +01:00
dzil123
9ce9c959ab
RenderingServer::create_local_rendering_device null check and docs
...
Co-authored-by: Clay John <claynjohn@gmail.com>
2022-11-19 16:31:05 -08:00
clayjohn
0e5a98cdd8
Fix drawing of 2D skeletons in the RD renderer.
...
Also clean up skeleton code in preparation for adding them to GLES3
Properly update Mesh2D AABBs when skeleton is updated
2022-11-18 23:36:40 -08:00
dzil123
8000751d90
RenderDummy::TextureStorage::texture_replace add missing null check
2022-11-18 22:03:46 -08:00
Ayush Singla
75ba0a7957
fixed incorrect mesh normals in shaders
2022-11-19 11:06:03 +05:30
Rémi Verschelde
58cb11b396
Merge pull request #68710 from BastiaanOlij/fix_vrs
...
Fix VRS issues
2022-11-18 16:19:22 +01:00
Yuri Rubinsky
e8f9cd8ac5
Merge pull request #68808 from CherrySodaPop/global-instance-uniform
2022-11-18 09:49:49 +03:00
Lily Garcia
0683bc3783
Fix global uniforms parsed as instance uniform
2022-11-17 17:18:20 -05:00
clayjohn
21ac6d7d8e
Finish implementing Canvas Background mode
2022-11-17 12:51:26 -08:00
Rémi Verschelde
e1ead0fbd1
Merge pull request #68779 from dzil123/fix_renderdummy_mesh_surface_overflow
...
RendererDummy - Fix buffer overflow due to stale mesh_get_surface
2022-11-17 13:48:24 +01:00
dzil123
e9d213e0fd
RendererDummy fix buffer overflow due to mesh_get_surface
2022-11-17 03:41:55 -08:00
dzil123
8fab25f32f
GLES3 TextureStorage - add missing null checks
2022-11-16 23:31:59 -08:00
Bastiaan Olij
616ba8745f
Fix VRS issues
2022-11-17 00:32:42 +11:00
Rémi Verschelde
a6a6af32e2
Merge pull request #68718 from dzil123/fix_fog_shader_buffer_overflow
...
Fix shader compiler asan out of bounds
2022-11-16 09:23:16 +01:00
Yuri Rubinsky
5693286e90
Mark shader built-ins as used when passed to functions as out parameter
2022-11-15 22:06:16 +03:00
Rémi Verschelde
4935493f72
Merge pull request #67948 from DeeJayLSP/split_webp
...
Overhaul WebP packer and split compression options
2022-11-15 16:25:40 +01:00
DeeJayLSP
da132f3266
Overhaul WebP packer and split compression options
2022-11-15 11:52:22 -03:00
dzil123
6f0cd8072f
Fix Fog shader buffer overflow
2022-11-15 06:51:48 -08:00
Rémi Verschelde
245e6454a0
Merge pull request #68673 from clayjohn/RD-alpha-hash
...
Fix alpha hash by correcting typos and doing calculations in object space
2022-11-15 10:28:59 +01:00
Rémi Verschelde
5f78f24b08
Merge pull request #68426 from clayjohn/GLES3-particles
...
Add GPUParticles to the OpenGL3 renderer.
2022-11-15 10:28:44 +01:00
Rémi Verschelde
1e9a61cd40
Merge pull request #68487 from clayjohn/RD-mobile-raster
...
Use raster versions of copy effects for 2D operations when using the mobile renderer
2022-11-15 10:27:43 +01:00
Rémi Verschelde
64d7ce2a6e
Merge pull request #68628 from clayjohn/shadows
...
Implement is_animated and casts_shadows
2022-11-15 10:27:29 +01:00
clayjohn
9ce57050a5
Add GPUParticles to the OpenGL3 renderer.
...
This includes collision (2D SDF, Box, Sphere, Heightmap),
attraction (Box, Sphere), and all sorting modes.
This does not include 3D SDF collisions, trails, or
manual emission.
2022-11-14 23:28:25 -08:00
clayjohn
81d8b502cc
Fix alpha hash by correcting typos and doing calculations in object space
2022-11-14 17:57:49 -08:00
Rémi Verschelde
7a9a173a9f
Merge pull request #68339 from clayjohn/RD-shadow-acne
...
Scale light shadow bias by soft_shadow_scale to reduce shadow acne
2022-11-14 23:25:52 +01:00
Rémi Verschelde
164139b61f
Merge pull request #65821 from raulsntos/xr_notification
...
Remove redefinition of `notification` method in `XRInterfaceExtension`
2022-11-14 23:25:37 +01:00
Raul Santos
2108019484
Remove redefinition of `notification` method in `XRInterfaceExtension`
2022-11-14 20:18:46 +01:00
Markus Sauermann
3b14f0334c
Remove redundant Variant-types initializations
2022-11-14 19:35:19 +01:00
Rémi Verschelde
63cded6a85
Merge pull request #61884 from Calinou/alpha-hash-use-opaque-pipeline
...
Use opaque rendering pipeline for alpha hash materials
2022-11-14 11:08:35 +01:00
clayjohn
4abf47f407
Implement is_animated and casts_shadows
...
This allows the renderer to correctly decide when to update shadow maps
This PR also adds TIME to a few missing places
2022-11-13 14:09:21 -08:00
Rémi Verschelde
9e97bc5857
Merge pull request #68574 from clayjohn/RD-shadow-time
...
Properly set TIME shader uniform when rendering shadows
2022-11-13 15:50:54 +01:00
clayjohn
aaaa4b8d68
Properly set TIME shader uniform when rendering shadows
2022-11-12 10:51:02 -08:00
Rémi Verschelde
014fac8f28
Merge pull request #67746 from SonnyBonds/fix_cluster_shader_mvk
...
Fix cluster_render.glsl failing on some Macs
2022-11-11 21:05:20 +01:00
Rémi Verschelde
c41b9c5f5b
Merge pull request #67972 from and-rad/vector-field-consistency
...
Fix inconsistency between vector field texture and world space directions
2022-11-11 21:05:00 +01:00
Patrick Dawson
d7136f2d51
Add `offsets` parameter to RenderingDevice::vertex_array_create
2022-11-11 15:45:36 +01:00
Rémi Verschelde
aae4b3d9d0
Merge pull request #68496 from clayjohn/RD-point
...
Ensure user shader is used in depth pass when point size is used
2022-11-11 10:54:55 +01:00
Rémi Verschelde
636d2189d0
Merge pull request #68511 from clayjohn/RD-mobile-sky
...
Enable mipmaps in cubemap roughness shader
2022-11-11 10:54:44 +01:00
Rémi Verschelde
e10f8cbf40
Merge pull request #68186 from pkdawson/expose-texture-rd
...
Expose texture_get_rd_texture for scripts
2022-11-11 10:43:57 +01:00
Rémi Verschelde
43f2213325
Merge pull request #68235 from pkdawson/pr-expose-vertex-array-create
...
Expose RenderingDevice::vertex_array_create to scripting
2022-11-11 10:43:35 +01:00
Rémi Verschelde
1691a33eb9
Merge pull request #67374 from MrBlockers/fix-draw-primitive
...
Fix draw_primitive ignoring texture argument
2022-11-11 10:43:18 +01:00
Rémi Verschelde
2608e71eca
Merge pull request #68425 from clayjohn/RD-doubles-particles
...
Fix GPUParticles not rendering in doubles build of the engine.
2022-11-11 10:42:24 +01:00
clayjohn
3ceb342d37
Enable mipmaps in cubemap roughness shader
2022-11-10 23:41:51 -08:00
clayjohn
a7adc7ab37
Ensure user shader is used in depth pass when point size is used
2022-11-10 15:26:07 -08:00
clayjohn
8e41221404
Use raster versions of copy effects for 2D operations when using the mobile renderer
...
This PR implements a few basic copy operations in raster that weren't available before
2022-11-10 12:47:26 -08:00
avemort
84f6791bd8
expose XRInterface::get_transform_for_view and XRInterface::get_projection_for_view to gdscript
2022-11-10 09:30:31 -03:00
Yuri Rubinsky
dca5cb8e40
Merge pull request #68413 from Chaosus/fix_instance_uniforms
2022-11-09 22:55:41 +03:00
Yuri Rubinsky
c07d13182c
Some fixes for instance shader parameters
2022-11-09 21:20:11 +03:00
clayjohn
4aab9cbdfc
Fix GPUParticles not rendering in doubles build of the engine.
...
real_t was mistakenly used in uniform structs causing a mismatch between the GPU uniform and the CPU uniform
2022-11-09 08:58:04 -08:00
Rémi Verschelde
f4c354630a
Merge pull request #68440 from clayjohn/redraw-TIME
...
Request redraw in OpenGL3 and mobile renderers when TIME used in shader
2022-11-09 08:58:06 +01:00
clayjohn
a1c3591461
Request redraw in OpenGL3 and mobile renderers when TIME used in shader
2022-11-08 22:52:11 -08:00
David Snopek
23603e409c
Add support for OpenGL to OpenXR
2022-11-08 18:47:11 -06:00
kobewi
d9f066d5fa
Remove duplicate project settings definitions
2022-11-08 01:29:39 +01:00
Rémi Verschelde
e2b39bfdc4
Merge pull request #68346 from Calinou/particles-rename-trail-length-property
...
Rename GPUParticles2D/3D's `trail_length_secs` to `trail_lifetime`
2022-11-07 15:05:55 +01:00
Hugo Locurcio
ab7a807f2b
Rename GPUParticles2D/3D's `trail_length_secs` to `trail_lifetime`
...
The property already has a "seconds" suffix in the inspector.
The "lifetime" term makes it more obvious that the property is
specified as time, not a distance in units.
The property hint now allows manually entering values greater than
10 seconds.
The internal rendering value's default now matches the particles
nodes' default.
2022-11-07 13:37:40 +01:00
Gábor Pál Korom
6865d2d002
Surface AABBs are now set for mesh surfaces even in headless mode. Sponsored by Migeran ( https://migeran.com ).
2022-11-07 12:53:03 +01:00
clayjohn
5f4a561f6c
Scale light shadow bias by soft_shadow_scale to reduce shadow acne on high quality settings
2022-11-06 10:49:55 -08:00
kobewi
1778301cd0
Add call_deferred() method to Callable
2022-11-04 17:24:34 +01:00
Patrick Dawson
e56fc6b338
Expose vertex_array_create
2022-11-03 22:14:55 +01:00
David Snopek
7fb8b931d7
Collapse three seperate texture storage methods into render_target_set_override()
2022-11-03 13:03:30 -05:00
Patrick Dawson
71d8de2763
Expose texture_get_rd_texture
2022-11-03 05:27:24 +01:00
Rémi Verschelde
2c0544a7b8
Merge pull request #67878 from clayjohn/RD-particles-amount
...
Correctly set number of particle dispatches when setting view axis
2022-11-03 00:32:20 +01:00
Rémi Verschelde
08d56ac2f1
Merge pull request #66747 from aaronfranke/move-euler-order
...
Move EulerOrder enum to math_defs.h and global scope
2022-11-02 22:37:12 +01:00
Mariano Javier Suligoy
a39ac1383b
Avoid memory corruption when GodotConvexPolygonShape3D is setup more than once
2022-11-02 16:16:18 -03:00
Aaron Franke
8556fdd4bc
Move EulerOrder enum to math_defs.h and global scope
2022-11-02 13:44:13 -05:00
Rémi Verschelde
f7c611ab71
Style: Misc docs and comment style and language fixes
...
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-02 19:01:18 +01:00
Rémi Verschelde
604abb434f
Merge pull request #52350 from BimDav/viewport_canvas_cull
...
Added Viewport canvas cull mask feature
2022-11-02 17:14:24 +01:00
Rémi Verschelde
cb1931b271
Merge pull request #67639 from clayjohn/GLES3-2d-shadows
...
Add 2D shadows and canvas SDF to OpenGL3 renderer
2022-11-02 17:12:20 +01:00
Yuri Rubinsky
0a85d3b0cc
Fix predefined constants to be accessible in the shader includes
2022-11-01 19:53:05 +03:00
Rémi Verschelde
a2c0ea248d
Merge pull request #62418 from Calinou/movie-maker-warn-on-low-disk-space
...
Warn if available disk space is low when Movie Maker mode is enabled
2022-11-01 08:21:27 +01:00
Rémi Verschelde
5dfde1e7bd
Merge pull request #68082 from Klowner/softbody3d-reoptmizelinkorder-crash-fix
...
Avoid GodotSoftBody3D.reoptimize_link_order() crash if <2 nodes available.
2022-11-01 08:20:15 +01:00
Hugo Locurcio
264ce15a83
Warn if available disk space is low when Movie Maker mode is enabled
...
Saving movies can require a lot of disk space, and running out of disk
space may cause the entire recording to have to be redone.
This also prints a message on startup to state that Movie Maker mode
is enabled, along with the requested framerate. Since Movie Maker mode
forces non-real-time simulation, it's important to know that it is
enabled when starting the project.
2022-11-01 00:02:55 +01:00
Mark Riedesel
7d1a159ba1
Add safety check for at least 2 nodes and 1 link to GodotSoftBody3D.reoptimize_link_order() before proceeding. Fixes #61474
2022-10-31 10:14:02 -05:00
bruvzg
9f46bf44cd
[DisplayServer] Hide internal window creation/deletion methods and expose some missing methods.
2022-10-31 16:17:45 +02:00
BimDav
fcb9be66a2
Viewport canvas cull mask feature
...
Co-authored-by: Valentin Zagura <puthre@gmail.com>
2022-10-31 14:09:49 +01:00
Raul Santos
82dac64659
Change exclude property in `PhysicsRayQueryParameters3D` to TypedArray
...
Change type of exclude property from `Vector<RID>` to `TypedArray<RID>` which is consistent with the 2D version.
2022-10-31 13:44:46 +01:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
...
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde
be126d42d4
Merge pull request #67588 from KoBeWi/if(!GDVIRTUAL_CALL)don't
...
Simplify GDVIRTUAL_CALL calls
2022-10-31 11:55:56 +01:00
Yuri Rubinsky
099f127cc3
Make code generation for shader boolean uniform instances easier
2022-10-31 11:52:52 +01:00
Rémi Verschelde
87545bf873
Merge pull request #67519 from BastiaanOlij/change_xr_pre_draw_viewport
...
Changing timing of call to xr_interface->pre_draw_viewport
2022-10-31 11:08:34 +01:00
Rémi Verschelde
3312d0a87b
Merge pull request #67907 from clayjohn/RD-model-matrix
...
Correctly rename to read_model_matrix when using shader builtins that rely on model matrix
2022-10-31 11:07:24 +01:00
Rémi Verschelde
d147adc591
Merge pull request #67915 from RevoluPowered/fix-intel-macbook-crash-subgroups
...
Ensure vulkan subgroups are disabled for MoltenVK
2022-10-31 10:53:30 +01:00
Yuri Rubinsky
11e1bac768
Merge pull request #67112 from Chaosus/fix_boolean_uniform_instances
2022-10-28 23:17:23 +03:00
Clay John
04ac91f786
Merge pull request #67790 from kdada/fix-flash-window
...
Make creating window do not flicker when specify custom position
2022-10-28 13:02:58 -07:00
clayjohn
2ec234ff67
Add 2D shadows and canvas SDF to OpenGL3 renderer
...
This is an initial implementation based on the current RD implementation
Performance will improve later
2022-10-28 11:33:23 -07:00
Yuri Rubinsky
468762b3b7
Merge pull request #67498 from Chaosus/fix_shader_crash
2022-10-28 09:25:07 +03:00
clayjohn
31c1a06ab5
Fix ss_effects_flags uniform in clustered forward renderer
...
This comes from an uncaught merge conflict resulting from the split of scene_data into
scene_data and implementation_data
2022-10-27 15:37:38 -07:00
Clay John
aa989cb26f
Merge pull request #64382 from peastman/support
...
Optimized support function for large meshes
2022-10-27 12:40:39 -07:00
Clay John
0d711cad30
Merge pull request #66107 from devloglogan/ambient-light-disabled-fix
...
Fix ambient_light_disabled render mode flag
2022-10-27 10:08:29 -07:00
Clay John
8fd92ed867
Merge pull request #64710 from MinusKube/window-size-crash
...
Prevent windows from having a size greater than device limit
2022-10-27 10:02:44 -07:00
Clay John
e1caa8797b
Merge pull request #67043 from clayjohn/clip_children
...
Improve behaviour of clip_children by clipping to parent alpha value but still retaining parent color
2022-10-27 09:59:27 -07:00
Clay John
682156e1f0
Merge pull request #66383 from aaronfranke/basis-from-euler
...
Clean up Basis from Euler code
2022-10-27 09:44:21 -07:00
Andreas Raddau
a5828cd0e3
Improved consistency between vector field texture and world space
2022-10-27 15:43:24 +02:00
Gordon MacPherson
381d457a2a
Ensure vulkan subgroups are disabled for MoltenVK
...
We found they don't work on intel macbooks properly at all.
Possible future solutions:
- update to moltenvk.
- update to spirv may resolve it.
2022-10-26 20:12:06 +01:00
Gordon MacPherson
56df8d5f19
Fix EXE_BAD_ACCESS caused by optional argument
...
This argument is now non optional, but this never hits the same bad access.
I voted to simplify the code here since the argument is never used optionally in our codebase.
2022-10-26 19:33:35 +01:00
clayjohn
020ac29fc3
Correctly rename to read_model_matrix when using shader builtins that rely on model matrix
2022-10-26 09:45:35 -07:00
clayjohn
3d28cb3cd3
Correctly set number of particle dispatches when setting view axis
2022-10-25 12:05:40 -07:00
Wei Guo
d7e39e313b
Make window creation with custom position do not flash
2022-10-24 13:50:25 +08:00
Clay John
4134f2a464
Merge pull request #67566 from Sauermann/fix-code-simplifications
...
Code simplifications
2022-10-23 17:02:04 -07:00
Anders Stenberg
bbb1f900dd
Fix cluster_render.glsl failing on some Macs
...
Some Macs encounter an internal error when compiling cluster_render.glsl
caused by a likely bug in the MVK/Metal
compiler when using gl_HelperInvocation.
2022-10-22 12:27:13 +02:00
MrBlockers
0c4fd03f40
Fix draw_primitive ignoring texture argument
2022-10-21 21:35:13 -04:00
Aaron Franke
7f9a8c99c9
Clean up Basis from Euler code
2022-10-21 17:54:49 -05:00
Cykyrios
44b93006c4
Fix RigidBody3D inertia calculation
2022-10-19 23:26:20 +02:00
Peter Eastman
562aa1bf76
Optimized support function for large meshes
2022-10-18 19:54:29 -07:00
kobewi
d06a8320e5
Simplify GDVIRTUAL_CALL calls
2022-10-19 00:05:48 +02:00
kobewi
e48c5daddf
Unify usage of GLOBAL/EDITOR_GET
2022-10-18 19:01:48 +02:00
Markus Sauermann
b8031bb7d6
Code simplifications
...
1. Viewport::get_visible_rect().position is always zero.
So Control::get_window_rect is identical to Control::get_global_rect.
Remove Control::get_window_rect since it is not used in the source code.
2. sqrt(a * a) = abs(a) for doubles
3. Simplify affine_inverse combination
4. Simplify calculation in shaders
2022-10-18 12:47:40 +02:00
Bastiaan Olij
b742b4c6e6
Changing timing of call to xr_interface->pre_draw_viewport
2022-10-17 14:19:01 +11:00
Yuri Rubinsky
926d4ebb28
Fix editor crash when assigning some uniform hints to the textures
2022-10-16 19:55:08 +03:00
clayjohn
b6f44859d7
Implement multiple clip_children modes for CanvasItems
2022-10-14 08:02:28 -07:00
kobewi
072f6feaba
Make some Image methods static
2022-10-14 14:34:15 +02:00
clayjohn
09b1a6f85f
Improve behaviour of clip_children by clipping
...
to parent alpha value, but still retaining
parent color
2022-10-13 18:35:12 -07:00
Juan Linietsky
71d2e38cb5
Optimize Convex Collision
...
Implements the Gauss Mapping optimization to SAT convex collision test.
* Described [here](https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2013/slides/822403Gregorius_Dirk_TheSeparatingAxisTest.pdf ) by Dirk Gregorius.
* Requires adding of face information to edges in MeshData
* Took the chance to convert MeshData to LocalVector for performance.
2022-10-13 19:07:53 +02:00
Rémi Verschelde
367a9b8056
Merge pull request #67335 from clayjohn/GLES3-2d-lights
...
Add 2D lights to OpenGL3 canvas renderer
2022-10-13 09:05:36 +02:00
Rémi Verschelde
0aa2d70613
Merge pull request #67320 from Calinou/fix-volumetric-fog-low-density
...
Fix volumetric fog not rendering at densities lower than or equal to 0.001
2022-10-13 09:05:30 +02:00
Rémi Verschelde
f2bd389e21
Merge pull request #67307 from TechnoPorg/lod-radial-distance
...
Use radial distance for making LOD decisions.
2022-10-13 09:05:00 +02:00
clayjohn
e600fb93a5
Add 2D lights to OpenGL3 canvas renderer
...
This is an initial implementation using the same single-pass approach as the RenderingDevice.
2022-10-12 17:55:01 -07:00
Hugo Locurcio
6aebc7b66e
Fix volumetric fog not rendering at densities lower than or equal to 0.001
...
This allows volumetric fog to render with the lowest density that
can be specified in the inspector (0.0001).
2022-10-13 00:45:49 +02:00
TechnoPorg
b04350828e
Use radial distance for making LOD decisions.
...
Previously, only forward basis distance from the camera was used.
This means that unnecessarily high LOD levels were used for objects located to the side of the camera.
The distance from the camera origin is now used, independently of direction.
2022-10-12 07:21:42 -06:00
Clay John
18d2035a3d
Merge pull request #67110 from Chaosus/fix_incorrect_vec3_ubo_fill
...
Fix incorrect offset for vec3 datatypes in `_fill_std140_ubo_empty`
2022-10-11 12:24:48 -07:00
Rémi Verschelde
6da55cd94b
Merge pull request #67270 from RandomShaper/slim_usage_msaa_attachment
...
Restrict MSAA attachment usage to the strictly needed set
2022-10-11 21:16:11 +02:00
Pedro J. Estébanez
ee91531998
Restrict MSAA attachment usage to the strictly needed set
2022-10-11 20:33:21 +02:00
Rémi Verschelde
6d534f6e89
Merge pull request #66221 from Mickeon/painstakingly-appending-ds-en-you-tea-es
...
Rename remaining "*_enable" to "*_enabled"
2022-10-11 16:17:02 +02:00
Rémi Verschelde
422c398962
Merge pull request #67176 from cooperra/negative-scale-culling-fix
...
Vulkan Clustered: Fix culling of negatively-scaled objects
2022-10-11 09:27:34 +02:00
Rémi Verschelde
58eff50bf1
Merge pull request #64268 from timothyqiu/is-finite
...
Add `is_finite` method for checking built-in types
2022-10-11 09:25:46 +02:00
Rémi Verschelde
3306ffefd1
Merge pull request #67000 from RandomShaper/split_render_further
...
Polish rendering driver refactor further
2022-10-11 09:23:32 +02:00
Rémi Verschelde
8017827144
SCons: Re-enable treating `#warning` as error with `werror`
...
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.
We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
bruvzg
73430f292b
[macOS] Fix window button position and title bar size when editor scale do not match OS UI scale.
2022-10-10 10:32:41 +03:00
Robbie Cooper
79d3e090cd
Vulkan Clustered: Fix culling of negatively-scaled objects
...
Negatively scaled objects should be mirrored. This is already implemented, but it breaks when mirrored and non-mirrored instances of the same object are visible together.
It turns out that the code that skips-over repeats in `RenderForwardClustered::_render_list_template` also skips the code that accounts for the culling mode of mirrored objects.
The solution here is to consider the `mirror` flag when determining repeats. This might result in more draw commands than necessary since a mirrored object can split a group of non-mirrored instances in two.
This problem doesn't appear in the mobile renderer because the repeat optimization isn't implemented there yet.
The problem still appears in MultiMeshInstance3D in *all* renderers.
Fixes #62879 and #58546 .
2022-10-10 03:20:59 -04:00
Yuri Rubinsky
f4db4bb7a2
Fix incorrect setup of boolean uniform instances
2022-10-09 08:50:18 +03:00
Yuri Rubinsky
816600382e
Fix incorrect offset for vec3 datatypes in `_fill_std140_ubo_empty`
2022-10-09 06:32:50 +03:00
Rémi Verschelde
658929997d
Merge pull request #67051 from clayjohn/CanvasGroup-clear
...
Allow clearing backbuffer after finishing CanvasGroup
2022-10-08 13:55:48 +02:00
Haoyu Qiu
5da515773d
Add `is_finite` method for checking built-in types
2022-10-08 13:25:08 +08:00
clayjohn
4765e5fa64
Allow clearing backbuffer after finishing CanvasGroup
...
This avoids an issue where having multiple CanvasGroups overlap
would create a weird artifact
2022-10-07 14:13:40 -07:00
clayjohn
7465455079
Fix material overlay overriding shadow casting logic
...
Material overlay should only cast a shadow if it can cast a shadow and
the instance can cast a shadow
2022-10-07 10:15:39 -07:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00
Rémi Verschelde
aa20941e68
Merge pull request #67016 from bruvzg/split_caret_dir_marker
...
Add split caret direction markers. Fix block/overtype caret size.
2022-10-07 09:15:14 +02:00
Rémi Verschelde
29f017378e
Merge pull request #66861 from clayjohn/GLES3-mono-ubo
...
Use a giant UBO to optimize performance in 2D [OpenGL3]
2022-10-07 09:14:13 +02:00
bruvzg
a750ca7ec1
Add split caret direction markers. Fix block/overtype caret size.
2022-10-07 08:45:52 +03:00
Rémi Verschelde
17c62a692e
Merge pull request #66756 from BastiaanOlij/fix_ssr
...
Fixing artifacts in SSR
2022-10-06 22:27:49 +02:00
Pedro J. Estébanez
24ff292999
Polish rendering driver refactor further
...
Mainly:
- Make `max_descriptors_per_pool` project setting Vulkan-specific.
- Use a common, render driver agnostic magic FourCC for shader binary data.
- Downgrade spirv_reflect to Vulkan-only dependency.
- Add a `RENDER_DRIVER_*` macro to GLSL shader code for per-driver customizations.
2022-10-06 21:08:54 +02:00
clayjohn
154b9c1c91
Use a giant UBO to optimize performance in 2D
...
This removes the countless small UBO writes we had before
and replaces them with a single large write per render pass.
This results in much faster rendering on low-end devices
but improves speed on all devices.
2022-10-06 11:24:45 -07:00
Rémi Verschelde
61021c08f8
Merge pull request #66936 from mihe/inverse-inertia-tensor
...
Bind PhysicsDirectBodyState3D::get_inverse_inertia_tensor
2022-10-06 08:57:37 +02:00
Rémi Verschelde
48e6f84295
Merge pull request #66951 from rburing/restore_recovery_as_collision
...
Revert "Turn on recovery as collisions only for floor snapping"
2022-10-06 08:56:44 +02:00
Ricardo Buring
311cdd2571
Revert "Turn on recovery as collisions only for floor snapping as this leads to unwanted behaviour for other surface than the floor."
...
This reverts commit 10395f5df2
.
2022-10-05 22:51:29 +02:00
Mikael Hermansson
8dc15aac38
Bind PhysicsDirectBodyState3D::get_inverse_inertia_tensor
2022-10-05 17:18:49 +02:00
Rémi Verschelde
d935235e9c
Merge pull request #66922 from BastiaanOlij/fix_direct_shadow
...
Make sure atlas rect for directional lights is calculated using floats
2022-10-05 13:38:24 +02:00
Bastiaan Olij
aba356e882
Make sure atlas rect for directional lights is calculated using floats
2022-10-05 22:12:57 +11:00
Rémi Verschelde
ecd4ab1e14
Merge pull request #66683 from clayjohn/SRGB-canvasitem
...
Default CanvasItem materials to use sRGB space for uniform colors
2022-10-05 11:44:52 +02:00
Rémi Verschelde
5b6ccf2fd2
Merge pull request #66720 from qarmin/unintialized_memory
...
Remove usage of unitialized variables
2022-10-05 11:42:47 +02:00
Rémi Verschelde
3a2b0ab73d
Merge pull request #66898 from aaronfranke/proj-mat-columns
...
Rename Projection `matrix` to `columns`
2022-10-05 08:35:26 +02:00
Rémi Verschelde
7af09c27f8
Merge pull request #66915 from timothyqiu/indexing
...
Fix crash when executing `RenderingServer.mesh_surface_get_format_offset`
2022-10-05 08:31:49 +02:00
Haoyu Qiu
909c905d28
Fix crash when executing `RenderingServer.mesh_surface_get_format_offset`
2022-10-05 13:07:10 +08:00
Bastiaan Olij
c7656978ba
Adding getters to RenderTarget and implementing override functionality for XR
2022-10-05 11:37:49 +11:00
Aaron Franke
2cea42cc7f
Rename Projection `matrix` to `columns`
2022-10-04 12:34:19 -05:00
Bastiaan Olij
d09ad714bf
Fixing artifacts in SSR
2022-10-04 23:47:13 +11:00
Rémi Verschelde
e5aa5eb806
Merge pull request #66780 from dsnopek/webxr-emulator-fix
...
Fix rendering in the WebXR emulator
2022-10-04 12:21:27 +02:00
Bastiaan Olij
02b0c22e38
Moving SSEffects settings into class
2022-10-04 11:03:36 +11:00
Bastiaan Olij
ddc4ae1175
Move cluster builder, sdfgi and gi structures to clustered renderer, move light and probe elements into storage and reorganise our render_scene method.
2022-10-04 11:03:32 +11:00
Rémi Verschelde
0a2a050520
Merge pull request #66813 from Chaosus/fix_uniform_crash
...
Fix global uniform crash at editor startup
2022-10-03 14:52:51 +02:00
Yuri Rubinsky
a2c32590ee
Fix global uniform crash at editor startup
2022-10-03 15:06:20 +03:00
Rémi Verschelde
54418ea659
Remove NO_THREADS fallback code, Godot 4 requires thread support
...
This also removes `OS::can_use_threads` from the public API since it's always
true.
2022-10-03 11:23:26 +02:00
clayjohn
3126619aa5
Update Instance flags in shaders to match instance flags in engine
2022-10-02 21:37:06 -07:00
David Snopek
ec5c4709bd
Fix rendering in the WebXR emulator
2022-10-02 13:49:53 -05:00
Rafał Mikrut
2233624152
Remove usage of unitialized variables
2022-10-01 21:09:22 +02:00
clayjohn
06d0e56559
Default CanvasItem materials to not convert uniform colors to linear space.
...
The 2D renderer in Godot is totally in sRGB space so it is appropriate
to keep 2D uniform colors in sRGB space
2022-09-30 15:15:11 -07:00
Rémi Verschelde
166df0896c
Fix typos with codespell
...
Using codespell 2.3-dev from current git.
And fix typo in `methods.py` for `vsproj=yes` option (still won't work
though).
2022-09-30 14:23:36 +02:00
Rémi Verschelde
67961d875d
Merge pull request #66178 from clayjohn/double-precision-rendering
...
Emulate double precision for regular rendering operation when REAL_T_IS_DOUBLE
2022-09-30 09:59:45 +02:00
Rémi Verschelde
300befdc9e
Merge pull request #66641 from timothyqiu/null-joint
...
Fix crash when executing `PhysicsServer2D.joint_clear`
2022-09-30 09:59:09 +02:00
Rémi Verschelde
fe40c52be8
Merge pull request #66638 from timothyqiu/rendering-null
...
Add various null checks in RenderingServer
2022-09-30 09:58:58 +02:00
Rémi Verschelde
7a0500d9a3
Merge pull request #66626 from danboo/fix-typo-run-debug-collisons
...
Fix typos - "collison" -> "collision"
2022-09-30 09:58:25 +02:00
Haoyu Qiu
8320e12ac1
Fix crash when executing `PhysicsServer2D.joint_clear`
2022-09-30 10:36:05 +08:00
Haoyu Qiu
ffdac72eaa
Add various null checks in RenderingServer
2022-09-30 10:18:14 +08:00
danboo
eba8be6e45
Fix typo - "collison" -> "collision"
2022-09-29 13:56:26 -08:00
Rémi Verschelde
f5f4d9bf00
Merge pull request #66143 from DarkKilauea/nav-queries-agent
...
Update NavigationAgent to use query_path
2022-09-29 15:33:25 +02:00
Rémi Verschelde
6991e9b43d
Merge pull request #66583 from bruvzg/constexpr
...
Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings.
2022-09-29 10:44:22 +02:00
Rémi Verschelde
315a71103e
Merge pull request #66565 from clayjohn/canvas-lights
...
Clean up canvas light shader API.
2022-09-29 10:43:42 +02:00
bruvzg
ea1848ce0a
Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings.
2022-09-29 10:38:21 +03:00
Josh Jones
a2c53b881b
Update NavigationAgent to use query_path
...
This paves the way for having agents respond to link traversal.
2022-09-28 23:01:12 -06:00
Rémi Verschelde
6b5880b765
Merge pull request #66568 from rburing/cylinder_support_is_dead
...
`GodotCylinderShape3D::get_supports`: delete dead code
2022-09-28 23:52:28 +02:00
Ricardo Buring
215c5458f5
GodotCylinderShape3D::get_supports: delete dead code
2022-09-28 21:37:37 +02:00
Rémi Verschelde
e5857bd6c7
Merge pull request #66548 from akien-mga/msvc-warnings-c4701-c4703
...
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
2022-09-28 20:47:50 +02:00
clayjohn
1a0890122f
Clean up canvas light shader API.
...
Expose LIGHT_ENERGY and LIGHT_IS_DIRECTIONAL.
Add LIGHT_DIRECTION
2022-09-28 11:46:58 -07:00
Rémi Verschelde
85fe6ecc32
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
2022-09-28 17:05:34 +02:00
Rémi Verschelde
7ab01450cf
Fix MSVC warning C4702: unreachable code
...
Part of #66537 .
2022-09-28 16:46:48 +02:00
Rémi Verschelde
14e1f36e61
Merge pull request #66492 from bruvzg/gde_ts_underscr
...
[GDExtension] Use function names with underscore for TextServer extension, add macros to generate wrappers for module functions.
2022-09-28 12:12:29 +02:00
bruvzg
8f5d56e04a
[GDExtension] Use function names with underscore for TextServer extension, add macros to generate wrappers for module functions.
2022-09-28 10:04:11 +03:00
Gabor Koncz
72203a4da4
Add Passthrough extension wrapper
2022-09-27 12:26:53 +02:00
Rémi Verschelde
7562932eb2
Merge pull request #66160 from dpalais/double_time
...
Use double instead of real_t type for time-related parameters and variables
2022-09-27 10:04:10 +02:00
Rémi Verschelde
b8870b91b5
Merge pull request #66466 from clayjohn/FXAA-fix
...
Take FXAA samples from half-pixel coordinates to improve quality
2022-09-27 09:58:22 +02:00
Rémi Verschelde
2ad63f68b3
Merge pull request #66370 from bitbrain/fix-light2d-blend-modes
...
Fix broken 2D light blending, addresses #49922
2022-09-27 09:57:44 +02:00
Rémi Verschelde
5ecaa676cc
Merge pull request #66317 from clayjohn/debanding-bug
...
Move deband to end of tonemapping.
2022-09-27 09:54:45 +02:00
clayjohn
dbcc0fa2a6
Take FXAA samples from half-pixel coordinates to improve quality
2022-09-26 11:54:29 -07:00
Dave Palais
0c46068af0
Change time parameters and variables to double type
...
Addresses #65313
2022-09-26 13:52:54 -05:00
Yuri Rubinsky
84f2c68c84
Merge pull request #66440 from Chaosus/shader_completion_defines
2022-09-26 18:18:24 +03:00
Yuri Rubinsky
344aa610e3
Add defines to completion list in shaders
2022-09-26 16:04:19 +03:00
Rémi Verschelde
49fcf4ffad
Style: Cleanup header guards for consistency
...
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-26 13:51:17 +02:00
Rémi Verschelde
5ae6379e5d
Merge pull request #66394 from bitbrain/fix-unshaded-canvas-modulate
...
Fix Unshaded CanvasItem for Vulkan
2022-09-26 08:24:45 +02:00
Bastiaan Olij
56d6a13fd7
Make dependencies with shader includes in subfolders
2022-09-26 12:29:19 +10:00
Miguel Gonzalez Sanchez
125f0be8b7
do not apply modulate on canvas when unshaded is set
2022-09-25 12:13:46 +01:00
Mansur Isaev
efd4dc20a3
Add `area_get_collision_layer` and `area_get_collision_mask`
2022-09-25 14:34:35 +04:00
Miguel Gonzalez Sanchez
2047be4516
fix broken 2D light blending, addresses #49922
2022-09-24 20:13:12 +01:00
clayjohn
fe69fedc1a
Move deband to end of tonemapping.
...
This avoids artifacts when using adjustments and color correction
2022-09-23 11:46:40 -07:00
Rémi Verschelde
006e345695
Merge pull request #65817 from bruvzg/typed_array
2022-09-23 10:24:46 +02:00
Rémi Verschelde
03410efa15
Merge pull request #66284 from clayjohn/particles-mem-bug
...
Properly initialize motion vectors offset when motion vectors are disabled
2022-09-23 09:45:48 +02:00
Rémi Verschelde
3a8e711e33
Merge pull request #66254 from bruvzg/macos_title
...
[macOS extend-to-title] Add scene/project name to the editor title, and fix window button placement.
2022-09-23 09:44:37 +02:00
clayjohn
aac8d5c406
Properly initialize motion vectors offset when motion vectors are disabled.
...
This fixes an uninitialized memory bug that caused particles to fail in non-LTO builds
2022-09-22 20:36:01 -07:00
bruvzg
163257d51b
[GDExtension] Implement support for typed arrays.
2022-09-22 23:31:27 +03:00
bruvzg
0dab11afa4
[macOS extend-to-title] Add scene/project name to the editor title, fix incorrect window button position/order when system primary language is RTL.
2022-09-22 23:09:56 +03:00
Rémi Verschelde
d1a155e3cd
Fix various -Wmaybe-uninitialized warnings from GCC 12.2.1
...
Not sure why I didn't get those before, it may be due to upstream
changes (12.2.1 is a moving target, it's basically 12.3-dev), or simply
rebuilding Godot from scratch with different options.
2022-09-22 11:29:48 +02:00
Micky
c1b5b68eee
Rename remaining "*_enable" to "*_enabled"
...
Material.`proximity_fade_enable` -> `proximity_fade_enabled`
Material.`set_proximity_fade` -> `set_proximity_fade_enabled`
(Material.`is_proximity_fade_enabled` is unchanged)
Area3D.`reverb_bus_enable` -> `reverb_bus_enabled`
(`set_use_reverb_bus` & `is_using_reverb_bus` are unchanged)
RDPipelineRasterizationState:
`depth_bias_enable` -> `depth_bias_enabled`
`set_depth_bias_enable` -> `set_depth_bias_enabled`
`get_depth_bias_enable` -> `get_depth_bias_enabled`
Bonus:
Area3D.`set_reverb_bus` -> `set_reverb_bus_name`
Area3D.`get_reverb_bus` -> `set_get_reverb_bus_name`
2022-09-21 22:47:46 +02:00
Rémi Verschelde
9521849da6
Merge pull request #62429 from smix8/navigation_path_query_4.x
...
Add NavigationPathQuery objects and NavigationServer query_path()
2022-09-21 13:25:48 +02:00
Rémi Verschelde
28e1dc6162
Merge pull request #65828 from rburing/body_state_sync_callable
...
make `body_set_state_sync_callback` take a `Callable`
2022-09-21 11:05:41 +02:00
clayjohn
27a3014f50
Emulate double precision for regular rendering operation.
...
We calculate the lost precision on the CPU and pass it into the GPU
so that it can calculate an error-corrected version of the vertex position
2022-09-20 23:40:01 -07:00
smix8
63dcb9aa80
Add NavigationPathQuery
...
Adds NavigationPathQueryParameters objects that can be used with NavigationServer.query_path() to query a customized navigation path.
2022-09-20 22:20:11 +02:00
bruvzg
0ed4cc6287
[macOS] Add an option to align window buttons in "extend to title" mode.
2022-09-20 12:55:59 +03:00
Rémi Verschelde
7da532275b
Merge pull request #65541 from clayjohn/renderer-setting
...
Split rendering driver project setting into renderer_name and rendering_driver
2022-09-20 09:43:59 +02:00
Logan Lang
e61d8b6f53
enabled ambient_light_disabled render mode flag
2022-09-19 17:12:32 -05:00
Rémi Verschelde
effddbcf12
Merge pull request #66065 from kidinashell/issue-59488
...
SpotLight3D's and OmniLight3D's Projector doesn't work
2022-09-19 22:02:17 +02:00
clayjohn
4a1c7de57c
Split rendering driver project setting into renderer_name and rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
2022-09-19 10:26:10 -07:00
Tobias Widner
422bacbfd1
Fix Vulkan: SpotLight3D's and OmniLight3D's Projector doesn't work
2022-09-19 17:18:45 +02:00
fabriceci
7a15ccfa7b
Warn users when collisions are not supported
2022-09-19 16:51:41 +02:00
Rémi Verschelde
40a7fb238d
Merge pull request #64728 from fabriceci/only-report-recovery-for-floor-snapping
...
Turn on recovery as collisions only for floor snapping
2022-09-19 15:39:55 +02:00
Rémi Verschelde
49891e4c2f
Merge pull request #65915 from clayjohn/VULKAN-mobile-fog
...
Restore fog in vulkan mobile renderer.
2022-09-19 09:23:24 +02:00
fabriceci
10395f5df2
Turn on recovery as collisions only for floor snapping as this leads to unwanted behaviour for other surface than the floor.
2022-09-18 22:23:09 +02:00
clayjohn
2ecc8b9a73
Restore fog in vulkan mobile renderer.
...
The condition accidentally disabled fog whenever it was enabled
2022-09-16 09:18:11 -07:00
Rémi Verschelde
bda63e1b5a
Merge pull request #65833 from JFonS/taa_fix_particles_errors
...
Fix error spam in the renderer when using GPUParticles3D
2022-09-16 11:59:00 +02:00
JFonS
b668268772
Fix error spam in the renderer when using GPUParticles3D
...
The flag INSTANCE_DATA_FLAG_MULTIMESH is used for both multimesh and particles instances, this commit adds a new INSTANCE_DATA_FLAG_PARTICLES flag to discriminate between them.
This flag will also be used in the future to properly support TAA in particles.
2022-09-16 09:44:22 +02:00
Rémi Verschelde
848668ed45
Merge pull request #65794 from Geometror/fix-canvas-backbuffer
...
Fix/restore BackBufferCopy
2022-09-16 09:20:04 +02:00
Clay John
95df3e7c88
Merge pull request #65800 from dsnopek/xr-resize-viewport-3
...
Fix XR rendering in 'opengl3' driver and expose true size via the Viewport node
2022-09-15 18:19:24 -07:00
Ricardo Buring
ff4e72a0bc
PhysicsServer2D and PhysicsServer3D: make body_set_state_sync_callback take a Callable
...
Prefer Callable to a C-style callback. This is helpful for GDExtension.
2022-09-15 15:09:23 +02:00
Bastiaan Olij
02ea1de7d0
Extract shared scene data into a separate class
2022-09-15 12:09:57 +10:00
David Snopek
e82cd46a74
Fix XR rendering in 'opengl3' driver and expose true size via the Viewport node
2022-09-14 20:55:56 -05:00
Hendrik Brucker
e235bca995
Fix/restore BackBufferCopy
2022-09-15 02:36:39 +02:00
Rémi Verschelde
f11745d7f5
Merge pull request #65804 from clayjohn/octahedral-decode
2022-09-15 01:42:29 +02:00
clayjohn
ef4f968232
Decode octahedral compression when retreiving meshes
2022-09-14 15:48:03 -07:00
Rémi Verschelde
ecaa7b634e
Merge pull request #65322 from ceLoFaN/fix-dof-artifact-at-high-blur
2022-09-15 00:03:40 +02:00
Rémi Verschelde
6fd3f6a287
Merge pull request #65048 from rburing/solve_static_world_boundary_motion_2d
2022-09-14 23:13:35 +02:00
Rémi Verschelde
0a0843a67d
Merge pull request #65654 from JohanAR/emit_subparticle_from_start
...
Allow emit_subparticle from start function
2022-09-14 19:07:33 +02:00
Rémi Verschelde
957aa79ce0
Merge pull request #65789 from clayjohn/sky-update-bug
...
Clear last frame directional light buffer when number of lights changes.
2022-09-14 19:06:19 +02:00
Clay John
f709596631
Merge pull request #65418 from JFonS/taa_multimesh
...
Add motion vectors support for MultiMeshInstance
2022-09-14 09:06:27 -07:00
clayjohn
72d899702b
Clear last frame directional light buffer when number of lights changes.
...
This ensures that the buffers don't go out of sync.
2022-09-14 08:30:35 -07:00
clayjohn
8fa76a5272
Move debanding into internal sky shader code so that it is applied after everything else.
...
This ensures that the debanding does not scale with exposure or any other effect.
2022-09-13 10:39:04 -07:00
Rémi Verschelde
22a09fef5d
Merge pull request #65579 from ZuBsPaCe/fix-viewport-sibling-order
...
Sibling SubViewports must be rendered from top to bottom
2022-09-13 11:01:33 +02:00
Rémi Verschelde
b853110890
Merge pull request #65653 from Chaosus/shader_completion_fix
2022-09-13 10:44:41 +02:00
Rémi Verschelde
0f3f8509ec
Merge pull request #65738 from BastiaanOlij/fix_ssao_ssil_memory_leak
2022-09-13 10:25:11 +02:00
Bastiaan Olij
873366cb2d
Fix uniform buffer being created every frame is SSAO and SSIL half_size is different
2022-09-13 17:49:32 +10:00
clayjohn
96b7cb66df
Fix multiwindow support in GLES3 for X11, Windows, and MacOS.
...
Instead of updating all viewports, then blitting all viewports
to the backbuffer, then swapping all buffers, we run through
all viewports and render, blit, and swap backbuffer before
going to the next viewport.
2022-09-12 17:30:50 -07:00
Rémi Verschelde
79b21e96ad
Merge pull request #65544 from clayjohn/lambert-wrap
...
Apply energy conservation to LAMBERT_WRAP diffuse mode by dividing by PI
2022-09-12 20:42:27 +02:00
clayjohn
97be1fb7b6
Apply energy conservation to LAMBERT_WRAP and TOON diffuse modes by dividing by PI
2022-09-12 08:45:40 -07:00
jfons
74cdee4cb5
Add motion vectors support for MultiMeshInstance
...
Transparently handle changes in multimesh transforms so they get reflected in the motion vectors buffer.
2022-09-12 15:28:12 +02:00
Rémi Verschelde
f211869530
Merge pull request #65594 from clayjohn/SSR-dialectric
2022-09-12 14:23:04 +02:00
Bastiaan Olij
b519d7619c
Fixed MSAA initialisation in clustered forward renderer
2022-09-12 11:07:51 +10:00
Yuri Rubinsky
e4a8646c19
Prevent duplicated hints in shader uniform completion
2022-09-11 15:21:43 +03:00
Johan Aires Rastén
ddfa214d89
Allow emit_subparticle from start function
...
emit_subparticle was previously only allowed from the process function
in a particle shader, which seemed like an unnecessary limitation.
2022-09-11 14:02:36 +02:00
clayjohn
65f0113bc6
Properly scale SSR reflection based on metallic value for dielectric materials
2022-09-09 16:52:02 -07:00
ZuBsPaCe
3d08678e13
Sibling SubViewports must be rendered from top to bottom
...
Sibling SubViewports must be rendered in the same order as in the Scene Tree, from top to bottom. _sort_active_viewports() reversed their order.
Fixes #65545
2022-09-09 17:50:14 +02:00
Ricardo Buring
7b84444393
PhysicsServer2DExtension and PhysicsServer3DExtension: bind all methods (really)
2022-09-09 14:35:01 +02:00
Yuri Rubinsky
d1be14a9cb
Merge pull request #65473 from Chaosus/shader_fix_completion
2022-09-07 21:23:39 +03:00
Rémi Verschelde
22b599819a
Merge pull request #65475 from timothyqiu/bounds-check
...
Fix crash when executing `VisualShaderNodeParticleMeshEmitter.set_mesh` with headless Godot
2022-09-07 17:53:19 +02:00
Haoyu Qiu
eea02e50a7
Fix crash when executing `VisualShaderNodeParticleMeshEmitter.set_mesh` with headless Godot
2022-09-07 21:31:16 +08:00
Yuri Rubinsky
47145800a6
Remove `shader_type` from completion (when it does not need any more)
2022-09-07 16:19:36 +03:00
Ricardo Buring
532e378cd9
Expose registration of physics servers to GDExtension
...
This exposes PhysicsServer2DManager and PhysicsServer3DManager.
2022-09-07 15:05:46 +02:00
Rémi Verschelde
019253512d
Merge pull request #65465 from rburing/physics_server_extension_bind
2022-09-07 14:50:02 +02:00
Ricardo Buring
bf523b26b9
Bind all methods in PhysicsServer2DExtension, PhysicsServer3DExtension
2022-09-07 13:16:44 +02:00
Rémi Verschelde
5062aafc2d
Merge pull request #64417 from aaronfranke/has-space
...
Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods
2022-09-06 17:00:44 +02:00
ceLoFaN
e844b95eaf
Fix DoF artifacting at high blur amounts
2022-09-05 21:38:40 +03:00
Rémi Verschelde
6c818da55e
Merge pull request #65321 from rburing/physics_server_2d_extension
...
Create GDExtension classes for PhysicsServer2D
2022-09-05 12:44:58 +02:00
Aaron Franke
817ae95667
Replace AABB has_no_volume with has_volume
...
Also replace has_no_surface with has_surface
2022-09-04 23:03:36 -05:00
Haoyu Qiu
52f290ae4d
Fix crash when executing `CSGMesh3D.set_mesh` with headless Godot
2022-09-05 09:15:22 +08:00
MinusKube
f5a808192b
Prevent windows from having a size greater than device limit
2022-09-04 22:48:54 +02:00
Ricardo Buring
d22ff48b3d
Create GDExtension classes for PhysicsServer2D
...
This allows a 2D physics server created entirely from GDExtension.
Based on the structure of PhysicsServer3DExtension by reduz.
2022-09-04 12:04:08 +02:00
Hugo Locurcio
b83e0b6447
Use verbose prints when registering cameras in CameraServer
...
This prevents lines from being printed every time the editor or project
starts in the editor Output log.
2022-09-02 23:26:04 +02:00
Rémi Verschelde
3a62c294c7
Merge pull request #65170 from KoBeWi/your_argument_is_TypedArray
2022-09-02 13:57:02 +02:00
Rémi Verschelde
f81a4b2478
Merge pull request #65026 from bruvzg/dark_mode
2022-09-02 13:54:46 +02:00
Rémi Verschelde
c82bbc38a5
Merge pull request #64952 from Chaosus/vs_rename_uniform_to_param
2022-09-02 13:49:53 +02:00
Jonathan Nicholl
15d057c521
Add `is_zero_approx` methods to `Vector2`, `3`, and `4`
2022-09-02 00:29:50 -04:00
Rémi Verschelde
d63c6fc463
Merge pull request #60185 from Calinou/environment-fog-and-sky-affect
2022-09-01 23:52:34 +02:00
Rémi Verschelde
168f6ca63b
Merge pull request #65216 from bruvzg/trim_fix
2022-09-01 23:50:20 +02:00
Rémi Verschelde
2e0cffdb6f
Merge pull request #63479 from DarkKilauea/nav-link
2022-09-01 23:44:22 +02:00
bruvzg
f131b69032
[TextServer] Fix excessive space trimming.
2022-09-01 21:31:39 +03:00
Hugo Locurcio
699e9f7966
Add Environment properties to control fog rendering on background sky
...
Values lower than 1.0 can be used to make the fog rendering not fully
obstruct the sky. This can be desired when using fog as a purely
atmospheric effect, without intending to use fog for open world fog
fading.
When set to 0.0, fog rendering behavior will be similar to Godot 3.x
where sky rendering was never affected by fog.
2022-09-01 19:07:39 +02:00
Rémi Verschelde
027415312e
Merge pull request #65132 from bruvzg/global_menu_shortcuts_context
2022-09-01 17:02:04 +02:00
kobewi
7adc8376ed
Change Array arguments to TypedArray
2022-09-01 13:13:19 +02:00
Bastiaan Olij
2cd84be64d
Extracting render buffers and changing it to a more generic solution
2022-09-01 20:01:45 +10:00
Yuri Rubinsky
8191b3c110
Rename `uniform` to `parameter` across the engine
2022-09-01 11:42:57 +03:00
Rémi Verschelde
89f0886425
Merge pull request #65073 from bruvzg/trim_spaces
...
[TextServer] Add support for trimming edge spaces on line break.
2022-09-01 08:16:52 +02:00
bruvzg
b85a4c5d79
[macOS] Handle accelerator and click events of the global menu items separately.
2022-09-01 08:13:56 +03:00
bruvzg
7aad14a4b6
[TextServer] Add support for trimming edge spaces on line break.
2022-09-01 08:11:55 +03:00
clayjohn
385ee5c70b
Implement Physical Light Units as an optional setting.
...
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value.
In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
2022-08-31 12:14:46 -07:00
bruvzg
629ae58a80
Add support for system dark mode and accent color detection (macOS and Windows). Add support for dark mode title bar on Windows.
2022-08-31 11:37:01 +03:00
Rémi Verschelde
c40855f818
Merge pull request #65130 from BastiaanOlij/fix_mobile_signed_tangent
...
Fix vector type for signed tangent in mobile shader
2022-08-31 09:12:31 +02:00
Rémi Verschelde
d58a1d65a9
Merge pull request #63413 from Calinou/volumetric-fog-add-per-light-energy-2
...
Add a per-light volumetric fog energy property
2022-08-31 08:47:03 +02:00
Bastiaan Olij
708222bb9a
Fix vector type for signed tangent in mobile shader
2022-08-31 16:35:54 +10:00
Haoyu Qiu
ad6d6a7893
Remove unnecessary `print_line` in RendererDummy
2022-08-31 09:44:02 +08:00
Hugo Locurcio
09bedcead4
Add a per-light volumetric fog energy property
...
Per-light energy gives more control to the user on the final result of
volumetric fog. Specific lights can be fully excluded from volumetric fog
by setting their volumetric fog energy to 0, which improves performance
slightly. This can also be used to prevent short-lived dynamic effects
from poorly interacting with volumetric fog, as it's updated over several
frames by default unless temporal reprojection is disabled.
Volumetric fog shadows now obey Light3D's Shadow Opacity property as well.
The shadow fog fade property was removed as it had little visible impact
on the final scene's rendering.
2022-08-30 20:03:38 +02:00
Rémi Verschelde
c1b178be38
Merge pull request #65068 from BastiaanOlij/fix_dummy_mesh_allocation
2022-08-30 19:49:36 +02:00
Rémi Verschelde
02d510bd07
Merge pull request #63003 from Geometror/msaa-2d
2022-08-30 14:54:20 +02:00
Bastiaan Olij
9efff344b8
Dummy mesh support was added to the dummy renderer but incomplete. This completes it
2022-08-30 16:28:39 +10:00
Aaron Franke
10a56981dc
Rename String `plus_file` to `path_join`
2022-08-29 19:38:13 -05:00
Ricardo Buring
219a582a15
Fix collision solving between world boundary and shapes in motion (2D)
2022-08-29 17:34:06 +02:00
sakrel
728fb6ea95
Fix updating OccluderPolygon shapes
2022-08-29 03:51:53 +02:00
Ricardo Buring
da37540d97
Fix collision solving between world boundary and motion shape
2022-08-27 19:51:14 +02:00
Josh Jones
3dd59013f4
Added node for Navigation links
2022-08-26 22:05:15 -07:00
Rémi Verschelde
4808d01b2b
Merge pull request #64223 from Calinou/taa-fxaa-use-negative-mipmap-lod-bias
...
Automatically use negative mipmap LOD bias when TAA and/or FXAA are enabled
2022-08-26 23:11:25 +02:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
...
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Rémi Verschelde
4f60fd0480
Merge pull request #64777 from bruvzg/extend_to_title
...
[macOS] Extend editor contents to the window title bar for better space usage.
2022-08-26 23:03:31 +02:00
Micky
59e11934d8
Rename `str2var` to `str_to_var` and similar
...
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.
- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`
- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
bruvzg
bc4ba6cb78
[macOS] Extend editor contents to the window titlebar for better space usage.
2022-08-26 15:12:43 +03:00
fabriceci
f8cc88fab3
Restore RigidBody2/3D, SoftBody names in physics
2022-08-26 12:26:25 +02:00
Rémi Verschelde
7013c68619
Merge pull request #64422 from bruvzg/make_fonts_unbearably_ugly_2.0
2022-08-26 11:59:07 +02:00
Micky
723bf85145
Rename ParticlesMaterial to ParticleProcessMaterial
...
Also affects their file names, related classes and documentation.
2022-08-26 02:53:08 +02:00
Hugo Locurcio
45bc1a3790
Automatically use negative mipmap LOD bias when TAA and/or FXAA are enabled
...
This improves texture sharpness when TAA and/or FXAA are enabled,
without requiring manual user intervention.
2022-08-25 19:38:18 +02:00
Rémi Verschelde
5d78ab4388
Merge pull request #64749 from tefusion/fix_skeleton_editor_mesh_free_errors
...
Fix typo in RendererSceneCull which caused mesh_free errors
2022-08-25 18:54:25 +02:00
Rémi Verschelde
af88438c71
Merge pull request #64354 from Mickeon/rename-navigation-distance
2022-08-25 18:35:23 +02:00
Rémi Verschelde
33bf609d79
Merge pull request #64820 from Chaosus/shader_fix_varyings
2022-08-25 18:02:38 +02:00
Yuri Rubinsky
d4a10e7e04
Allow using integer varyings with `flat` interpolation modifier
2022-08-25 13:21:02 +03:00
Rémi Verschelde
fa80064779
Merge pull request #64607 from RandomShaper/safe_audio_threading
2022-08-25 10:12:25 +02:00
fabriceci
3f9db7b398
Adds a method to return the angular velocity of a platform
2022-08-24 18:03:12 +02:00
Rémi Verschelde
4698dc67b5
Merge pull request #64082 from KoBeWi/array3k
2022-08-24 16:05:59 +02:00
Rémi Verschelde
96194628df
Merge pull request #64346 from firefly2442/patch-1
2022-08-24 14:36:07 +02:00
kobewi
f7f4873ed0
Replace Array return types with TypedArray 3
2022-08-24 12:53:36 +02:00
Rémi Verschelde
91e5f48ea7
Merge pull request #64009 from KoBeWi/arrayy_lmao
...
Replace Array return types with TypedArray (part 2)
2022-08-24 08:18:56 +02:00
kobewi
1abdffe7a0
Replace Array return types with TypedArray 2
2022-08-23 23:21:32 +02:00
Rémi Verschelde
be5c1e2737
Merge pull request #64719 from akien-mga/property-slasher
2022-08-23 18:16:59 +02:00
Rémi Verschelde
8317ff74d6
Merge pull request #63091 from MinusKube/editor-window-render-bug
2022-08-23 12:59:34 +02:00
Rémi Verschelde
7764151bc1
Rename properties unnecessarily using slash (`/`) in their names
...
This is a legacy of Godot 2 days before the inspector had support for groups.
"Properties" with a slash in their name can't be accessed from script unless
using `set()`/`get()` so they were not actual properties as far as script
languages are concerned.
Part of #17558 .
2022-08-23 11:57:43 +02:00
bruvzg
bcc3643989
Add font LCD sub-pixel anti-aliasing support.
2022-08-23 08:47:21 +03:00
kobewi
8be27dc59e
Replace Array return types with TypedArray
2022-08-22 22:42:36 +02:00
tefusion
a2c422a6da
Fix typo in RendererSceneCull
...
Frees skeleton 3d gizmo now correctly
2022-08-22 22:09:56 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property
2022-08-22 21:39:48 +02:00
Rémi Verschelde
7b4927bb5f
Merge pull request #60309 from The-O-King/oct
2022-08-22 19:29:21 +02:00
Yuri Sizov
1a24c9e14b
Make `_validate_property` a multilevel method
2022-08-22 18:35:11 +03:00
Rémi Verschelde
5193332d10
Merge pull request #64343 from TokageItLab/priority-ph
2022-08-22 17:31:23 +02:00
Omar El Sheikh
61522d8491
Add Blendshape Support
...
Update the blendshape shader to decode/encode octahedral normals
2022-08-20 20:59:28 -07:00
Hugo Locurcio
0c5f254956
Merge pull request #64110 from Geometror/fix-light-shadow-off
2022-08-20 17:06:03 +02:00
Yuri Rubinsky
499fd0a4e7
Add `defined` keyword support to shader preprocessor
2022-08-20 11:26:59 +03:00
Max Hilbrunner
5e0d2b5097
Merge pull request #62046 from clayjohn/vertexless-draw
...
Allow creating meshes without vertex positions
2022-08-20 05:32:28 +02:00
Hendrik Brucker
18585c69b3
Fix OmniLight/SpotLight shadow opacity calculation
2022-08-20 01:05:44 +02:00
clayjohn
bbbcdd725a
Remove requirement to have vertex positions when creating a mesh. Meshes can now be constructed from an index buffer alone
2022-08-19 14:50:12 -06:00
Yuri Rubinsky
8779f51a5e
Merge pull request #63960 from bitsawer/fix-macro-expansion
2022-08-19 23:37:47 +03:00
Max Hilbrunner
019d6584ee
Merge pull request #64167 from clayjohn/screen-texture-hint
...
Add shader uniform hints for screen textures
2022-08-19 21:51:39 +02:00
Max Hilbrunner
117c530e1d
Merge pull request #64342 from clayjohn/DOF-scale
...
Properly scale depth in bokeh_dof effect
2022-08-19 21:16:32 +02:00
Pedro J. Estébanez
9d546bf05a
Make audio thread control flags safe
2022-08-19 13:28:10 +02:00
Yuri Rubinsky
35cfaafda8
Merge pull request #64459 from Chaosus/shader_elif
2022-08-19 07:01:22 +03:00
Max Hilbrunner
420a8c888e
Merge pull request #63950 from bruvzg/menu_bar3
...
Implement MenuBar control to wrap Popup menus or native menu, use native menu for editor.
2022-08-19 01:24:24 +02:00
bruvzg
8c56a7416b
Implement `MenuBar` control to wrap `PopupMenu`s or native menu, use native menu for editor.
2022-08-18 22:25:44 +03:00
Aaron Franke
f91934872d
Use a const ref for the bone AABB in rendering code
2022-08-18 12:20:11 -05:00
Max Hilbrunner
462bb3bf32
Merge pull request #64534 from YuriSizov/docs-navigation-takes-a-nap
...
Fix a typo in navigation server documentation
2022-08-18 16:59:18 +02:00
Clay John
982ff7d925
Merge pull request #64416 from aaronfranke/aabb
...
Don't try to merge unused bone AABBs in the rendering server
2022-08-17 23:56:05 -06:00
Silc Renew
b31115cdc1
Add collision weight to PhysicsBody for penetrations must be avoided
...
Co-authored-by: Juan Linietsky <reduzio@gmail.com>
2022-08-18 08:10:31 +09:00
Yuri Sizov
bedaa2b535
Fix a typo in navigation server documentation
2022-08-17 17:05:46 +03:00
Yuri Rubinsky
13ab70ed2a
Add `elif` directive to shader preprocessor
2022-08-15 22:06:49 +03:00
Aaron Franke
e0d80b37e9
Don't try to merge unused bone AABBs in the rendering server
2022-08-14 23:30:48 -05:00
Yuri Rubinsky
22df2c527b
Implement coloring for disabled branches in the shader editor
2022-08-14 13:57:26 +03:00
Omar El Sheikh
78881b3cc3
Octahedral Normal/Tangent Compression
...
Implementation of Octahedral normal compression into Godot 4.0
2022-08-13 08:09:32 -07:00
Patrick
2b93f44739
small typo in TextServer, changes bitwise to logical which can be faster in some cases via "short circuiting"
2022-08-13 07:44:41 -06:00
Micky
b62d06fbed
Rename Navigation's `neighbor_dist` to `neightbor_distance`
...
NavigationAgent2D/3D.`neighbor_dist` -> `neighbor_distance` (also affects setters and getters)
NavigationServer2D/3D.`agent_set_neighbor_dist()` -> `agent_set_neighbor_distance()`
Also changes their parameters' names.
Doesn't affect "Agent.neighborDist_" in Agent.h
2022-08-13 12:40:55 +02:00
Hendrik Brucker
e96b1a2c0c
Implement MSAA for 2D [Vulkan only]
2022-08-13 01:09:48 +02:00
clayjohn
7d6287f616
Properly scale depth in bokeh_dof effect so that setting distance to blur effect is accurate again
2022-08-12 16:39:05 -06:00
Yuri Rubinsky
f2a6168414
Merge pull request #64310 from Chaosus/shader_texture_funcs
2022-08-12 21:28:22 +03:00
Yuri Rubinsky
e21aad968d
Add `textureQueryLod/Levels` functions to the shader language
2022-08-12 20:44:57 +03:00
Yuri Rubinsky
7822fbc9e2
Add `textureProjGrad` function to the shader language
2022-08-12 12:01:37 +03:00
Hugo Locurcio
ff9118d103
Merge pull request #64225 from Calinou/3d-scaling-bilinear-use-negative-mipmap-bias
2022-08-11 21:41:37 +02:00
clayjohn
7c848ee591
Detect if VRS supported before creating default VRS texture
2022-08-10 13:27:19 -06:00
Hugo Locurcio
b06890c2b7
Use negative mipmap LOD bias for sub-native bilinear 3D scale
...
This provides a benefit similar to FSR 1.0 (greater texture sharpness
at the cost of some graininess at sub-native resolution scales), but
without the added performance cost of FSR 1.0.
2022-08-10 17:16:02 +02:00
Silc Renew
7331295523
add get_depth() to KinematicCollision3D as same of 2D
2022-08-10 10:33:58 +09:00
MinusKube
be09a87ff9
Fix viewport sorting being wrong on parent/child relation
2022-08-10 01:23:23 +02:00
Rémi Verschelde
29422b60f1
Merge pull request #64146 from smix8/fix_editor_disabled_navigationserver_4.x
2022-08-10 00:03:39 +02:00
clayjohn
028ef2edc8
Add shader uniform hints for screen textures so users can specify custom filter and repeat modes.
...
At this time, it works best in the Vulkan Renderers as they support using multiple samplers with the same texture.
In GLES3 this feature really only allows you to use the screen texture without mipmaps if you want to save the cost of generating them.
2022-08-09 12:29:49 -04:00
smix8
d254f0fa5f
Add NavigationServer2D debug functions
...
Adds debug functions to NavigationServer2D to mirror NavigationServer3D functions for 2D users.
2022-08-09 12:21:45 +02:00
smix8
8bfea7dcb4
Fix Editor Navigation debug edge connection visuals
...
Fixes missing Navigation debug edge connection visuals in Editor due to disabled NavigationServer.
2022-08-09 11:59:31 +02:00
Bastiaan Olij
f50f0844e9
Fix resource leaks in VoxelGI
2022-08-09 15:18:03 +10:00
bruvzg
e7464e7a30
Fix macOS and iOS defines in the rendering code.
2022-08-08 17:51:31 +03:00
Rémi Verschelde
afeb7572e3
Merge pull request #64078 from Nosliwnayr/master
2022-08-08 15:38:41 +02:00
Rémi Verschelde
8734ef1f7a
Merge pull request #62547 from clayjohn/ref_vec_pbr
2022-08-08 10:18:32 +02:00
Ryan Heath
9d4e5a466e
Add area monitor callback error checking
2022-08-07 13:47:03 -07:00
Rémi Verschelde
f754dd20be
Merge pull request #62454 from Geometror/reflect-refract-vec2-vec4
...
Allow for vec2/vec4 to be used in reflect and refract
2022-08-07 19:16:05 +02:00
Hendrik Brucker
b8d5f4bdd5
Allow vec2 and vec4 for reflect and refract
2022-08-07 18:03:16 +02:00
Hugo Locurcio
baaa7503c7
Add a shadow opacity property to Light3D
...
This can be used to make shadows translucent for a specific light.
The light distance fade system also uses this to smoothly fade the shadow
when the light fade transition distance is greater than 0.
2022-08-07 11:06:32 +02:00
bitsawer
691e067ef5
Fix shader preprocessor macro expansion
2022-08-05 17:41:24 +03:00
Juan Linietsky
f999f52f0a
Add a Framebuffer cache
...
Adds a FramebufferCache singletion that operates the same way as UniformSetCache.
Allows creating framebuffers on the fly (and keep them cached if re-requested) such as:
```C++
RID fb = FramebufferCache::get_singleton()->get_cache(texture1,texture2);
```
2022-08-05 13:37:29 +02:00
Hugo Locurcio
db22b7ded0
Rename shader parameter uniform setter/getter methods for consistency
...
`shader_uniform` is now consistenly used across both per-shader
and per-instance shader uniform methods. This makes methods easier
to find in the class reference when looking for them.
2022-08-04 23:17:06 +02:00
Rémi Verschelde
52bfae1741
Merge pull request #63918 from akien-mga/no-s3tc-for-mobile
2022-08-04 21:40:45 +02:00
Rémi Verschelde
8a9700c8a7
Force disable S3TC support on Android/iOS since we don't handle it
...
Fixes #63909 for now.
This could be improved in the future if we want to properly support S3TC on mobile.
2022-08-04 18:27:56 +02:00
Brian Semrau
103c0fa6e6
Add support for multiple virtual keyboard types
2022-08-04 10:41:33 -04:00
Rémi Verschelde
fdceece7f8
Merge pull request #63899 from bruvzg/hb_510
...
HarfBuzz: Update to version 5.1.0, use new FLAG_SAFE_TO_INSERT_TATWEEL flag to improve justification.
2022-08-04 09:12:05 +02:00
bruvzg
2980c0d60c
HarfBuzz: Update to version 5.1.0, use new FLAG_SAFE_TO_INSERT_TATWEEL flag to improve justification.
2022-08-04 09:10:16 +03:00
Rémi Verschelde
036258b1e9
Merge pull request #61918 from KoBeWi/static_body
...
Add static methods to create RayQueryParameters
2022-08-04 07:37:32 +02:00
Hugo Locurcio
d2271eb300
Improve error message when the requested V-Sync mode cannot be used
2022-08-04 00:15:09 +02:00
Rémi Verschelde
2c0c76c415
Merge pull request #61851 from Calinou/particles-default-global-coordinates
2022-08-03 11:38:23 +02:00
Rémi Verschelde
b27f06550c
Merge pull request #51531 from Calinou/decal-projector-add-nearest-mipmap-aniso
2022-08-03 11:37:28 +02:00
Rémi Verschelde
15fdf7bc86
Merge pull request #58611 from Calinou/ssr-fix-blend-margin
...
Fade screen-space reflection towards inner margin
2022-08-03 07:54:59 +02:00
Yuri Rubinsky
988041b74c
Merge pull request #63847 from Zylann/shader_switch_uint
2022-08-03 08:05:19 +03:00
Hugo Locurcio
d041ca6c02
Add Nearest Mipmap Anisotropic filter option to decals and projectors
...
This is consistent with the BaseMaterial3D filtering options.
It can be used for high-quality pixel art textures that remain sharp
when viewed at oblique angles, but prevents them from becoming grainy
thanks to mipmaps.
2022-08-03 03:49:15 +02:00
Hugo Locurcio
d38671827b
Fade screen-space reflection towards inner margin
...
- Fade reflection towards inner margin and clip it at screen edges
instead of external margin.
- Round edges of the fade margin if both are being cut off to prevent
sharp corners.
Co-authored-by: puchik <puchik@users.noreply.github.com>
2022-08-03 01:55:42 +02:00
Marc Gilleron
779a5cd34a
Allow shading language to use `switch` statement with uints
2022-08-02 23:08:41 +01:00
Hugo Locurcio
84076513b1
Use global coordinates for particles by default
...
Particles won't move or rotate anymore with the node (or its parents)
by default. This new default behavior is generally more suited
to most use cases. Local coordinates can still be enabled on a per-node basis.
This affects both 2D and 3D particles, and both CPU and GPU-based particles.
2022-08-02 23:25:02 +02:00
Rémi Verschelde
f450f242b9
Merge pull request #62639 from Calinou/line-antialiasing-decrease-feather-width
2022-08-02 21:00:01 +02:00
Patrick Exner
fe5901310e
Add spatial built-ins (camera-pos, object-pos, camera-eye etc.)
2022-08-02 17:30:41 +02:00
clayjohn
2640e9ee22
Disable multiview shader versions when xr is disabled
2022-08-02 09:55:53 -04:00
bruvzg
4373a0bb86
[TextServer] Add ICU Unicode security and spoofing detection.
2022-08-02 15:37:49 +03:00
Rémi Verschelde
b7346e5025
Merge pull request #53956 from bruvzg/icu_uax_31
2022-08-02 08:54:19 +02:00
bruvzg
5aa48b6ae5
[TextServer] Implement ICU/UAX 31 based `is_valid_identifier` function.
2022-08-02 08:30:20 +03:00
Rémi Verschelde
8cce479c01
Merge pull request #51672 from Calinou/shader-add-hint-transparent-texture
...
Add `hint_transparent` to use a transparent black placeholder texture
2022-08-02 07:15:59 +02:00
Rémi Verschelde
bda2274969
Merge pull request #63627 from and-rad/vector-field-attractor-fix
...
Fix vector field particle attractor texture sampling
2022-08-02 07:13:04 +02:00
Rémi Verschelde
2cdef4d532
Merge pull request #63589 from RandomShaper/sdfgi_debug_pc
...
Keep SdfgiDebug shader's push constant size <= 128
2022-08-02 07:11:58 +02:00
Rémi Verschelde
8de2cc04a7
Merge pull request #63793 from RandomShaper/fix_unbound_resource
...
Fix uniform set creation error due to null RID
2022-08-02 07:10:20 +02:00
Hugo Locurcio
813f6a5d57
Add `hint_transparent` to use a transparent black placeholder texture
...
This can be used in shaders to avoid the need to supply a transparent
placeholder texture manually.
2022-08-01 23:38:06 +02:00
Rémi Verschelde
67c5741c03
Merge pull request #63767 from kubecz3k/fix/headless-collision
2022-08-01 22:04:09 +02:00
Pedro J. Estébanez
2df767d31e
Fix uniform set creation error due to null RID
2022-08-01 21:59:13 +02:00
Yuri Rubinsky
9ec6de1767
Merge pull request #63766 from Chaosus/fix_shader_instance_uniform
2022-08-01 15:04:54 +03:00
Yuri Rubinsky
81c44718ca
Fix passing values to the instance uniforms in the shader
2022-08-01 13:45:29 +03:00
Jakub Grzesik
3c55637459
fix for headless collision shape generation
...
this commit implements just enough of dummy mesh_storage so collision shapes are still generated in the headless mode
implementation was inspired by rasterizer_dummy.h from Godot3
2022-08-01 12:38:07 +02:00
Rémi Verschelde
121d6fdace
Merge pull request #63754 from BastiaanOlij/storage_struct_private
...
Changed storage structs to private
2022-08-01 09:37:36 +02:00
Rémi Verschelde
de53e91b85
Merge pull request #55276 from Calinou/volumetric-fog-tweak-default-gi-inject
...
Tweak default fog settings for better appearance
2022-08-01 07:55:53 +02:00
Rémi Verschelde
677f565ce8
Merge pull request #63587 from clayjohn/specular-occlusion
...
Treat specular less than 0.02 as occlusion
2022-08-01 07:54:57 +02:00
Bastiaan Olij
81c6f73109
Changed storage structs to private
2022-08-01 11:59:14 +10:00
Hugo Locurcio
e35e79b802
Tweak default fog settings for better appearance
...
- Increase the default non-volumetric fog density to 0.01 to make
adjustments more visible.
- Use a less saturated non-volumetric fog color by default
(a mix of the sky and horizon colors of the new default
ProceduralSkyMaterial).
- Set Volumetric Fog Gi Inject to 1.0 by default. Injecting GI results
in more realistic appearance of volumetric fog, at a very low
performance cost.
2022-08-01 02:04:20 +02:00
clayjohn
0c65ed38a6
Treat specular less than 0.02 as occlusion
...
This is a very common hack used in almost all PBR renderers to allow removing specular contribution in dielectric materials
2022-07-31 15:45:21 -07:00
Hugo Locurcio
a0795b4347
Tweak VoxelGI defaults for better quality
...
Overall brightness is similar to the previous settings, but lighting
now fades off more naturally and reflections feature indirect lighting.
Performance is identical.
- Enable Use Two Bounces by default.
- Decrease Propagation to 0.5 to compensate for the second bounce.
2022-07-31 18:05:24 +02:00
smix8
30c6fff214
Fix Navigation Debug always enabled
...
Fixes that Navigation Debug is always enabled in debug builds even while "Visible Navigation" is turned off.
2022-07-31 05:44:39 +02:00
Hugo Locurcio
0e26fee3b7
Make Decal's `modulate` property affect emission color as well
...
This can be used to recolor special effects such as fake area fog
without having to create separate textures for each color.
- Improve the Decal class documentation.
2022-07-30 21:41:48 +02:00
LinuxUserGD
6e6569aa78
fix 'Comparison result is always the same' warnings
2022-07-29 19:45:22 +02:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
...
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Rémi Verschelde
5352cf8e2f
Merge pull request #46557 from asmaloney/remove-impossible-condition
...
Remove impossible condition in RenderingServer::mesh_surface_make_offsets_from_format
2022-07-29 16:56:48 +02:00
Andreas Raddau
dfc6035ce1
Fix vector field particle attractor texture sampling
2022-07-29 16:52:54 +02:00
Juan Linietsky
d4433ae6d3
Remove Signal connect binds
...
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Pedro J. Estébanez
278950f731
Keep SdfgiDebug shader's push constant size <= 128
2022-07-29 13:25:11 +02:00
Rémi Verschelde
8b454f8b41
Merge pull request #62601 from smix8/navigation_3d_debug_4.x
2022-07-29 12:29:32 +02:00
smix8
c394ea518e
Add more detailed Navigation Debug Visualization
...
- Adds more customization options to ProjectSettings.
- Displays navregion edge connections and navigation polygon edges in editor and at runtime.
- Majority of debug code moved from SceneTree to NavigationServer.
- Removes the irritating debug MeshInstance child node from NavigationRegion3D and replaces it with direct RenderingServer API.
2022-07-29 09:58:41 +02:00
Rémi Verschelde
2bf8c4a6d0
Merge pull request #63527 from BastiaanOlij/rework_environment
...
Restructure environment in render implementation
2022-07-29 08:05:40 +02:00
Bastiaan Olij
f579125eeb
Restructure environment in render implementation
2022-07-29 12:24:32 +10:00
Rémi Verschelde
8e0f328a80
Merge pull request #59840 from Calinou/renderingserver-global-uniform-rename
2022-07-28 20:34:17 +02:00
Rémi Verschelde
1c820f19b1
Merge pull request #60957 from DeeJayLSP/sample_pcm
2022-07-28 19:51:08 +02:00
DeeJayLSP
4889659227
Rename AudioStreamSample to a more discoverable name
2022-07-28 13:53:36 -03:00
Hugo Locurcio
4b42379c8f
Rename RenderingServer global shader uniform methods to be more explicit
...
The `global_shader_uniform` name is longer, but it makes it much
easier to find the methods when searching in the class reference.
2022-07-28 18:46:59 +02:00
Hugo Locurcio
e24029edc3
Allow changing mipmap LOD bias when FSR 1.0 scaling is not used
...
Mipmap LOD bias can be useful to improve the appearance of distant
textures without increasing anisotropic filtering (or in situations
where anisotropic filtering is not effective).
`fsr_mipmap_bias` was renamed to `texture_mipmap_bias` accordingly.
The property hint now allows for greater precision as well.
2022-07-28 17:51:13 +02:00
Rémi Verschelde
82811367cb
Merge pull request #63571 from RandomShaper/conservative_validate_vrs
2022-07-28 15:34:47 +02:00
Pedro J. Estébanez
5f71b55380
Improve handling of the format of the VRS image
...
- Validate format conservatively. (This is to have VRS images created regardless whether VRS attachments are supported, which avoids errors in places where the code assumes such images were created on low-spec GPUs.)
- Create a non-layered default VRS image, which is what Vulkan (and D3D12, by the way) expect.
2022-07-28 12:24:03 +02:00
Rémi Verschelde
199ea349f5
Merge pull request #57698 from bluenote10/feature/rename_translated_to_translated_local
2022-07-28 10:03:07 +02:00
Bastiaan Olij
1dd671014b
Add startup flag to override XR mode settings
2022-07-28 11:50:34 +10:00
Hugo Locurcio
aaeb60eafc
Add a Movie Quit On Finish property to AnimationPlayer
...
This quits the project when an animation is done playing in the
given AnimationPlayer, but only in Movie Maker mode.
When this happens, a message is printed with the absolute path of the
AnimationPlayer node that caused the engine to quit.
This can be used to create videos that stop at a specified time
without having to write any script.
A report is now also printed to the console when the video is done
recording (as long as the engine was exited properly).
This report is unfortunately not always visible in the editor's
Output panel, as it's printed too late.
A method was also added to get the path to the output file from the
scripting API.
2022-07-27 18:50:28 +02:00
Rémi Verschelde
bb94e16bd8
Merge pull request #63406 from Zylann/init_viewport_fields
2022-07-27 12:29:05 +02:00
Rémi Verschelde
a7335b00e6
Merge pull request #62362 from clayjohn/VULKAN-halo
2022-07-27 11:17:34 +02:00
Rémi Verschelde
cade90a807
Merge pull request #58296 from Calinou/decal-distance-fade-tweak-defaults
2022-07-27 09:44:47 +02:00
Rémi Verschelde
d5ec1a9650
Merge pull request #63477 from Chaosus/shader_fix_fog
2022-07-27 09:35:30 +02:00
clayjohn
7e7c6995e3
Use full size mipmaps for reflections when in high-quality mode
2022-07-26 23:53:05 -07:00
Yuri Rubinsky
05bc55b2ad
Merge pull request #63522 from Chaosus/shader_fix_projection
2022-07-27 09:38:14 +03:00
Rémi Verschelde
e8309d49e0
Merge pull request #63345 from BastiaanOlij/split_geometry_instance
...
Cleanup RendererSceneRender::GeometryInstance
2022-07-27 08:28:24 +02:00
Yuri Rubinsky
2dc59a3eea
Fix incorrect conversion of default value for mat4 uniform in shaders
2022-07-27 09:06:18 +03:00
Yuri Rubinsky
bbf76faf86
Fix `FOG` built-in in spatial/fragment shader
2022-07-27 08:31:06 +03:00
Bastiaan Olij
0bd042c601
Change RendererSceneRender::GeometryInstance so more code is shared among renderers
2022-07-27 12:32:07 +10:00
Hugo Locurcio
a151a74a98
Tweak Decal distance fade defaults and add property hints
...
The new default values are more usable in real world scenarios
when smooth fading of distant decals is desired for performance reasons.
The Decal distance fade property hints were adjusted based on the
GeometryInstance3D visibility range fade property hints. `or_greater`
was also added to allow specifying larger values if needed.
2022-07-27 03:15:46 +02:00
Hugo Locurcio
d1716c2e7a
Change window title in Movie Maker mode to display useful information
...
The frame number and movie time is now displayed in the window
title. This way, you can see how quickly the video recording is advancing
in real-time (and perhaps tweak your settings if it's going too slow).
2022-07-26 18:59:33 +02:00
Rémi Verschelde
2d2b85d400
Merge pull request #62972 from Chaosus/shader_groups
...
Implement shader uniform groups/subgroups
2022-07-26 15:16:33 +02:00
Rémi Verschelde
f94b4dbe22
Merge pull request #63236 from halgriffiths/fix-texture-rect-transpose
...
send FLAGS_TRANSPOSE_RECT to Vulkan
2022-07-26 13:22:32 +02:00
Yuri Rubinsky
886c2d9681
Implement shader uniform groups/subgroups
2022-07-26 11:26:09 +03:00
Bastiaan Olij
bad5c659a4
Move Sky(RD) into environment
...
Move Fog logic from render scene render to fog
2022-07-26 10:19:40 +10:00
Juan Linietsky
c7255388e1
Remove ThreadWorkPool, replace by WorkerThreadPool
...
The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient.
It can also be better debugged.
2022-07-25 15:39:50 +02:00
Rémi Verschelde
49b0aa93e3
Merge pull request #63424 from Chaosus/shader_preprocessor_inc_fix
2022-07-25 14:56:06 +02:00
Yuri Rubinsky
be3fb7a216
Fix errors when using built-ins in shaderinc
2022-07-25 12:33:04 +03:00
Rémi Verschelde
90019676b0
Code quality: Fix header guards consistency
...
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
Rémi Verschelde
3084a48ace
Merge pull request #63219 from reduz/implement-vector4-projection
2022-07-25 11:13:27 +02:00
Marc Gilleron
5690f47135
Initialize default values for viewports in rendering server.
...
Example with TAA: by default it is `false` in project settings and in
the Viewport node. When the scene tree is created, Viewport.set_use_taa()
is called with the value from ProjectSettings. But because the default
values are already the same, RenderingServer isn't called.
The Viewport struct in the RenderingServer does not initialize this field,
so TAA gets randomly enabled when the game starts with default settings.
2022-07-24 21:39:06 +01:00
reduz
455c06ecd4
Implement Vector4, Vector4i, Projection
...
Implement built-in classes Vector4, Vector4i and Projection.
* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.
These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.
**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
Rémi Verschelde
a5bc65bbad
Merge pull request #63265 from reduz/stream-bpm-support
...
Implement BPM support in AudioStream files.
2022-07-23 11:21:14 +02:00
Yuri Rubinsky
6d992abb54
Fix some errors after shader preprocessor PR
2022-07-23 09:38:59 +03:00
reduz
d1ddee2258
Implement BPM support
...
Based on #62896 , only implements the BPM support part.
* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
2022-07-23 07:31:17 +02:00
Rémi Verschelde
fe929d4787
Merge pull request #62513 from reduz/shader_preprocessor_remake
2022-07-23 00:02:33 +02:00
Rémi Verschelde
4f7bfacfcd
Merge pull request #62478 from BastiaanOlij/split_effects_20220628
2022-07-22 23:44:52 +02:00
reduz
f649678402
Clean up Shader Preprocessor
...
* Moved preprocessor to Shader and ShaderInclude
* Clean up RenderingServer side
* Preprocessor is separate from parser now, but it emits tokens with include location hints.
* Improved ShaderEditor validation code
* Added include file code completion
* Added notification for all files affected by a broken include.
2022-07-22 22:53:03 +02:00
Yuri Roubinsky
7b94603baa
Adding shader preprocessor support
...
Co-authored-by: TheOrangeDay <6472143+TheOrangeDay@users.noreply.github.com>
2022-07-22 22:51:57 +02:00
halgriffiths
d37ebc2bdc
send FLAGS_TRANSPOSE_RECT to Vulkan
2022-07-22 13:49:04 +01:00
luz paz
38aaaa3cf9
Fix various typos not caught by codespell
...
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
2022-07-21 07:38:23 -04:00
bruvzg
8823eae328
Rename OSX to macOS and iPhoneOS to iOS.
2022-07-21 09:37:52 +03:00
Bastiaan Olij
eefcb5ed67
Move screen space effects into a separate class
2022-07-19 13:27:39 +10:00
Rémi Verschelde
abe8b88702
Merge pull request #62834 from RandomShaper/fix_vk_sky_error
...
Bind correct default resource type in GI
2022-07-18 23:39:21 +02:00
Rémi Verschelde
d29e17d9d2
Merge pull request #63057 from sakrel/vulkan-fix-2d-shadows
2022-07-18 21:53:12 +02:00
Rémi Verschelde
9276c65522
Merge pull request #62265 from d-robbins/specular_shininess_used
2022-07-18 21:35:46 +02:00
Rémi Verschelde
5bea531228
Merge pull request #62848 from RandomShaper/shader_writability_improvement
2022-07-18 15:11:42 +02:00
Pedro J. Estébanez
4ac2008782
Make SDFGI direct light shader follow the same-writability rule
2022-07-18 14:46:29 +02:00
David R
c2b0a873c2
added usage_defines for SPECULAR_SHININESS
...
added usage defines for opengl3 renderer
2022-07-18 00:45:42 +02:00
Bastiaan Olij
d139131aab
Adding Variable Rate Shading support to Godot
...
Improve GI renderer and add VRS support
Implement render device has_feature and move subgroup settings to limit_get
2022-07-17 15:42:24 +10:00
Fabian Keller
2bf9e6090c
rename translate(d) to translate(d)_local in Transform 2D/3D
2022-07-16 11:47:54 +02:00
sakrel
16a8967757
Fix DirectionalLight2D and PointLight2D shadows not rendering correctly
2022-07-15 23:55:15 +02:00
bruvzg
cbe3a2dcb7
Use BitField hint for the TextServer enums. Add missing parts for BitField support to the GDextension API.
2022-07-15 08:49:50 +03:00
Rémi Verschelde
5fec0d232a
Merge pull request #58763 from Calinou/editor-fix-default-float-step
2022-07-14 00:21:33 +02:00
Rémi Verschelde
7e49c8c30e
Merge pull request #62947 from BastiaanOlij/fix_mesh_instance_free
2022-07-14 00:05:25 +02:00
Hugo Locurcio
21ea1c3835
Rename soft shadow quality project settings for easier searching
...
`rendering/quality/shadows` is now `rendering/quality/positional_shadow`
to explicitly denote that the settings only affect positional light shadows,
not directional light shadows.
Shadow atlas settings now contain the word "atlas" for easier searching.
Soft shadow quality settings were renamed to contain the word "filter".
This makes the settings appear when searching for "filter" in the
project settings dialog, like in Godot 3.x.
2022-07-13 19:56:02 +02:00
Bastiaan Olij
6930ad2777
Fix typo, call mesh_instance_free not mesh_free
2022-07-12 22:30:08 +10:00
Hugo Locurcio
75f7e1fbf8
Fix some properties having an invalid float step of `0`
...
This also clamps the float step in the editor to the lowest value
that is guaranteed to work in all situations (including for 32-bit
floats).
2022-07-10 22:56:59 +02:00
Hugo Locurcio
0f18bd244e
Fix dead link in TAA resolve shader comment
...
Spartan Engine has recently removed its own internal TAA in favor
of FSR 2.0. The link has been changed to point to a fixed commit,
so the link will keep working as long as the repository exists.
2022-07-09 22:51:54 +02:00
Pedro J. Estébanez
ba39230ef3
Bind correct default resource type in GI
2022-07-08 19:07:28 +02:00
Xentripetal
f514b82fd3
Account for relative z-indexes when y-sorting
2022-07-08 09:18:00 -05:00
Rémi Verschelde
99df193bea
Merge pull request #62277 from RandomShaper/depth_buffer_no_sampling
...
Rationalize certain cases of texture usage flags
2022-07-08 11:34:09 +02:00
Rémi Verschelde
1e553e34fb
Merge pull request #62108 from bruvzg/font_config_v3
2022-07-07 12:22:49 +02:00
Yuri Rubinsky
3dc1a1dbfb
Prevent possible crash when mesh is freed
2022-07-06 19:52:54 +03:00
lawnjelly
1f69666209
Remove Octree
...
Octree is no longer used in 4.x.
2022-07-06 14:10:05 +01:00
Rémi Verschelde
55fca1cb94
Merge pull request #62344 from BastiaanOlij/extract_dependencies
2022-07-06 13:24:46 +02:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources.
2022-07-06 14:12:36 +03:00
Hugo Locurcio
c9037a8d2c
Remove unused anisotropy setter/getter methods in VoxelGI
...
These methods weren't exposed to the scripting API.
Anisotropy was used in earlier iterations of VoxelGI, but it was
removed as it was too expensive.
2022-07-06 02:40:49 +02:00
Hugo Locurcio
cf1ce8494d
Improve antialiased line drawing sharpness and respect of original width
...
Antialiased lines with a width of 2 pixels or more now use a smaller
feather width of 1.25 instead of 2.0. This makes them look sharper
and better preserves their original shape while still having good
antialiasing quality.
This also improves the appearance of thin antialiased lines by
slightly increasing their feather size (from 1.0 to 1.25). It
makes them appear a tad thicker, but the antialiasing quality is
much improved by doing this.
2022-07-02 18:45:42 +02:00
Rémi Verschelde
6bbfd160b0
SCons: Properly track codegen script dependency for generated GLSL headers
2022-07-02 16:01:48 +02:00
Hugo Locurcio
f9e6b292e2
Remove debugging print following GI reorganization
2022-07-01 20:08:10 +02:00
clayjohn
93c82ab4b9
Evaluate specular reflections using specular dominant direction instead of assuming mirror reflections
2022-06-29 23:36:18 -07:00
Hugo Locurcio
aa177fc4db
Split MovieWriterPNGWAV into its own file
...
This makes its organization consistent with MovieWriterMJPEG.
2022-06-30 01:02:28 +02:00
Rémi Verschelde
2d28bb8364
Merge pull request #62482 from JFonS/fix_crash_canvas_mode
2022-06-28 15:31:51 +02:00
Rémi Verschelde
d53f1fb388
Merge pull request #60935 from Calinou/geometryinstance3d-gi-mode-default-static
...
Use the Static global illumination mode in GeometryInstance3D by default
2022-06-28 14:40:53 +02:00
JFonS
8102db90bc
Fix crash in Environment "Canvas" background mode.
2022-06-28 13:25:18 +02:00
Rémi Verschelde
16d9918b51
Merge pull request #62467 from RandomShaper/descriptor_rw_matters
...
Consider uniform writability part of the interface of the set
2022-06-28 08:25:38 +02:00
Je06jm
c2550e1cc0
Fixed FSR. Before, it was commiting the
...
raw render to the screen. Now, it commits
the fsr upscaled image
2022-06-27 18:01:12 -06:00
Pedro J. Estébanez
fc6ac4a155
Consider uniform writability part of the interface of the set
2022-06-27 21:56:18 +02:00
Bastiaan Olij
ecfcfd97fa
Split dependency logic
...
Split FOG
Split visibility notifier
Final cleanup of storage classes
2022-06-28 00:10:29 +10:00
Rémi Verschelde
dac79e15f1
Merge pull request #62390 from Calinou/movie-writer-tweak-settings
2022-06-27 12:27:46 +02:00
Pedro J. Estébanez
678a9ca221
Rationalize certain cases of texture usage flags
...
- Check for exhaustive usage flags for depth buffer
- Remove uneeded storage flag from normal-roughness buffer
2022-06-27 11:28:38 +02:00
Bastiaan Olij
4e8e10a186
Fix typo in roughness shaders
2022-06-26 12:43:21 +10:00
Hugo Locurcio
bdb40c6478
Add property hints to MovieWriter settings
...
- Rename audio mix rate setting as the suffix is now part of the
property hint. This is also more consistent with existing mix rate
project settings.
- Improve the MovieWriter class reference.
- Tweak warning message about audio possibly going out of sync.
2022-06-25 20:08:56 +02:00
Rémi Verschelde
fbb5e24d1e
Merge pull request #62133 from BastiaanOlij/move_cubemap_effects
...
Moved cube_to_dp and cubemap logic into CopyEffects
2022-06-24 22:27:26 +02:00
Rémi Verschelde
faae24637c
Merge pull request #62300 from smix8/navigation_map_force_update_4.x
2022-06-24 10:13:07 +02:00
Bastiaan Olij
6224b00365
Moved cube_to_dp and cubemap logic into CopyEffects
2022-06-24 18:04:28 +10:00
smix8
e57360d8df
Add NavigationServer.region_owns_point() helper function
...
Adds a helper function to check if a world space position is currently owned by a navigation region.
2022-06-23 23:32:05 +02:00
Hugo Locurcio
610363add0
Use the Static global illumination mode in GeometryInstance3D by default
...
This makes VoxelGI and SDFGI work out of the box with primitive meshes,
loaded OBJ meshes and CSG nodes.
2022-06-23 22:34:23 +02:00
smix8
fdea269805
Add NavigationServer map_force_update() function
...
Adds map_force_update() function to NavigationServer. This function immediately flushes the Navigationserver command queue and recalculates all navigationmeshes and region connections for a specific map.
2022-06-23 17:32:07 +02:00
Rémi Verschelde
462127eff0
Merge pull request #62312 from smix8/navigation_get_maps_4.x
2022-06-23 16:14:12 +02:00
Rémi Verschelde
051fb86fb0
Merge pull request #61221 from BastiaanOlij/split_gi_effects
2022-06-23 12:28:10 +02:00
Rémi Verschelde
d1dac8427a
Merge pull request #55846 from ellenhp/fix_ogg_edge_cases
...
Fix ogg edge cases
2022-06-22 23:33:51 +02:00
Rémi Verschelde
d8ef904ffc
Merge pull request #35758 from zmanuel/eliminate-draw-pending
...
Remove redundant thread sync counter draw_pending
2022-06-22 18:20:41 +02:00
Rémi Verschelde
e21db7723a
Merge pull request #62286 from JFonS/taa_global_time
2022-06-22 16:59:08 +02:00
Rémi Verschelde
95cafc7bcf
Merge pull request #62305 from JFonS/taa_molten_mobile_workaround
2022-06-22 16:58:31 +02:00
smix8
c0fed1d4e8
Add Navigation function to get all navigation maps
...
Added new function that returns all created navigation map RIDs from the NavigationServer. The function returns both 2D and 3D created navigation maps as technically there is no distinction between them.
2022-06-22 15:33:40 +02:00
jfons
0f38e79617
Move TIME to a global shader variable
...
This makes it work consistently for motion vectors in all functions, including user-defined ones.
2022-06-22 12:24:37 +02:00
JFonS
9b4e07f866
Workaround MoltenVK shader conversion error
2022-06-22 11:58:50 +02:00
Bastiaan Olij
997810e417
Split GI effects and fix stereoscopic rendering of GI effects
2022-06-22 12:50:17 +10:00
Rémi Verschelde
40c360b870
Merge pull request #62122 from reduz/implement-movie-writer
...
Implement a Movie Maker mode
2022-06-21 14:24:14 +02:00
reduz
5786516d4d
Implement Running Godot as Movie Writer
...
* Allows running the game in "movie writer" mode.
* It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time).
* If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult.
* Implements a simple, default MJPEG writer.
This new features has two main use cases, which have high demand:
* Saving game videos in high quality and ensuring the frame rate is *completely* stable, always.
* Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this).
**Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly).
Usage:
$ godot --write-movie movie.avi [scene_file.tscn]
Missing:
* Options for configuring video writing via GLOBAL_DEF
* UI Menu for launching with this mode from the editor.
* Add to list of command line options.
* Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
2022-06-21 11:28:47 +02:00
reduz
141c375581
Clean up Hash Functions
...
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
2022-06-20 12:54:19 +02:00
Hugo Locurcio
2651e88b05
Automatically update the editor viewport when 3D scaling options are changed
...
This allows for previewing the effects of the various 3D scaling
project settings without having to restart the editor.
2022-06-19 01:05:17 +02:00
Rémi Verschelde
3a2b409c5a
Merge pull request #62106 from BastiaanOlij/eye_offset
...
Introduce eye_offset for correcting stereoscopic reflections
2022-06-18 10:40:57 +02:00
Bastiaan Olij
b4821fe2e0
Introduce eye_offset for correcting stereoscopic reflections
...
Use view instead of vertex for reflections.
2022-06-17 19:39:34 +10:00