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
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