7a49918c89
fix: set visible layers in multiview camera
2025-10-13 17:31:01 +02:00
56e04635a7
Minor Optimization to Occlusion Culling
2025-08-14 20:00:58 +02:00
23e6d7bfc7
Fix Reflection Mask not working on Mobile
2025-05-26 13:37:18 -03:00
305216f558
Overhaul the cull mask internals for Lights, Decals, and Particle Colliders
...
Properly pair and unpair instances based on cull mask to avoid any unnecessary processing and to ensure that changing the cull_mask and layer_mask actually updates culling behavior
2025-05-08 21:39:12 -07:00
ae04a3a5dd
Physics Interpolation - Move 3D FTI to SceneTree
...
Moves 3D interpolation from server to the client code (`SceneTree`).
Complete rework of 3D physics interpolation, but using the same user API.
2025-04-26 14:13:30 +01:00
a4a5f4ed01
allow moving meshes without motion vectors
2025-04-25 14:25:06 +02:00
4f4031a675
Replace size() == 0 with is_empty().
2025-04-02 19:18:43 +08:00
10f6c01b9c
Remove ABS in favor of Math::abs
2025-03-19 13:52:40 +01:00
aea559b39a
Allow to compile the engine without XR support
2025-02-25 17:07:21 -03:00
c695eb9159
Merge pull request #101952 from Flarkk/fix_spotlight_peterpanning_regression
...
Fix shadow peter-panning with default spotlight
2025-02-07 01:39:15 +01:00
b162c59097
Fix GPUParticlesCollisionHeightField3D adding collisions excluded by its layer_mask
...
Co-authored-by: Yahia Zakaria <yahiazakaria13@gmail.com >
2025-02-04 08:02:44 +02:00
d08ff57148
Fix peter-panning with default spotlight
2025-01-22 17:05:04 +01:00
c9632d0eb6
Fix regression with shadows when light range is 0 or close
2024-12-28 11:40:54 +01:00
e88e30c273
Remove unused headers in servers.
...
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com >
2024-12-20 18:51:01 +08:00
d3e5b62ea2
Merge pull request #99230 from paddy-exe/instance_uniforms_compatability_renderer
...
Implement 2D instance uniforms
2024-12-19 19:59:37 -06:00
ceefc0d38a
Implement 2D instance shader parameters
...
Co-authored-by: kobewi <kobewi4e@gmail.com >
Co-authored-by: yesfish <huwpascoe@users.noreply.github.com >
Co-authored-by: Álex Román Núñez <eirexe123@gmail.com >
2024-12-17 23:59:16 +01:00
34ebec3748
fix: crash in scenes with more than 8 shadowed directional lights
2024-12-15 19:13:07 +11:00
ffe53cba3c
Merge pull request #100374 from hpvb/fix-rendering-ubsan
...
Fix ubsan reported errors in rendering
2024-12-14 18:25:46 +01:00
e271b2ca08
Merge pull request #99145 from dsnopek/xr-lock-camera
...
XR: Allow locking the camera to the `XROrigin3D` for benchmarking or automated testing
2024-12-14 18:25:21 +01:00
dc5f1b7a28
Merge pull request #100319 from Flarkk/fix_light_shadow_range
...
Fix shadows of long range `OmniLight3D` and `SpotLight3D`
2024-12-13 16:19:39 -06:00
062d74bb9c
Fix ubsan reported errors in rendering
...
This allows the TPS demo to run without an ubsan reports from any of the
rendering code.
2024-12-13 21:27:37 +01:00
5125adf40b
Fix large range point lights shadows
2024-12-12 15:37:38 +01:00
9320865796
Avoid calculating dynamic lights when lights are baked into LightmapGI using the static bake mode
2024-12-06 10:17:44 -08:00
d58b2e879f
Get rid of easily removable uses of const_cast
2024-12-01 17:50:13 -08:00
7e3d480087
Created static method and moved _particles_set_view_axis over to it to allow calling on render thread.
2024-11-16 13:26:26 -06:00
d6a4fe6c05
XR: Allow locking the camera to the XROrigin3D for benchmarking or automated testing
2024-11-12 15:06:27 -06:00
88d9903f6d
Merge pull request #86138 from EnlightenedOne/master
...
Fix Frustum Sky projection translation logic shearing
2024-11-04 21:52:07 -06:00
1d141ab32a
Fix Frustum Sky projection translation logic, all pipelines, fixes 63863
2024-11-02 21:34:55 +00:00
cfc05c5e0f
Merge pull request #85338 from EMBYRDEV/shadow-caster-mask
...
Add `shadow_caster_mask` to Light3D.
2024-10-24 13:22:59 -05:00
fcea158927
Fixed light culling mask behavior in Mobile and Compat renderers
2024-10-23 08:38:56 +05:30
274076c5be
Lightmap Dynamic Bugfix
2024-10-17 16:27:30 +01:00
e2c6daf7ef
Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
...
- Implements asynchronous transfer queues from PR #87590 .
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 -03:00
0eb06da057
Jitter shadow map dithering pattern across frames when TAA is enabled
...
This improves shadow quality by reducing the visibility of the noisy
pattern caused by dithering.
This jittering also applies when FSR2 is enabled, as it provides its own
form of temporal antialiasing.
Co-authored-by: Clay John <claynjohn@gmail.com >
2024-09-24 15:52:07 -07:00
032235b6fc
Merge pull request #95503 from clayjohn/instance_none_crash
...
Avoid indexing instances without a base in scene cull phase
2024-09-03 11:43:08 +02:00
1728f80e7c
Fixed Timestep Interpolation: MultiMesh
...
Adds fixed timestep interpolation to multimeshes.
Co-authored-by: lawnjelly <lawnjelly@gmail.com >
2024-08-18 17:14:59 +02:00
94e9b2e2af
Merge pull request #95379 from SlashScreen/fix_dir_light_layers
...
Consider visual layers for DirectionalLight
2024-08-16 10:35:44 +02:00
b5fd29e7bc
Avoid indexing instances without a base in scene cull phase
2024-08-13 13:02:15 -07:00
4457b11ff0
Apply patch for considering visual layers for DirectionalLight
...
Co-authored-by: majikayogames <152851004+majikayogames@users.noreply.github.com >
2024-08-13 08:45:38 -07:00
a54b71bbdf
Add shadow_caster_mask to Light3D.
2024-08-12 00:17:11 +01:00
2f8ab4a654
Fixed Timestep Interpolation (3D)
...
Adds 3D fixed timestep interpolation to the rendering server.
This does not yet include support for multimeshes or particles.
Co-authored-by: lawnjelly <lawnjelly@gmail.com >
2024-07-07 22:15:23 +02:00
97af135f1b
Fix mesh instance not updated when changing blend shape values
2024-05-23 12:36:31 +08:00
258f2705f6
Merge pull request #90440 from Calinou/geometryinstance3d-fix-custom-aabb-assignment
...
Fix GeometryInstance3D Custom AABB assignment in the editor not working
2024-04-10 14:22:33 +02:00
c59f493620
Merge pull request #89729 from jitspoe/master.shadow_distance_fade_optimization
...
Shadow fade for omni lights actually stops the shadow from updating while faded out to improve performance.
2024-04-10 14:21:56 +02:00
084b8d1246
Fix GeometryInstance3D Custom AABB assignment in the editor not working
...
This also fixes error spam when changing Custom AABB on a MeshInstance3D
that has no Mesh resource assigned yet (which is allowed in the editor).
This avoids pitfalls when assigning a custom AABB in a script when
loading meshes at runtime.
2024-04-09 19:02:43 +02:00
a28be933ee
Merge pull request #89398 from clayjohn/visual-debugger-coverage
...
Increase coverage of timestamps for visual profiler
2024-04-04 14:31:19 +02:00
ac6c648645
Increase coverage of timestamps for visual profiler
2024-04-03 19:29:02 -07:00
691854d589
Jitter raster occlusion camera to reduce false positives.
...
Due to the low resolution of the occlusion buffer, small gaps between occluders can be closed and incorrectly occlude instances which should show through the gaps. To ameliorate this problem, this PR jitters the occlusion buffer over time, making it more likely an instance will be seen through a gap. This is used in conjunction with an occlusion timer per instance, to prevent instances flickering on and off rapidly.
2024-04-03 12:18:45 +01:00
a0969a0931
Shadow fade for omni lights actually stops the shadow from updating while faded out to improve performance.
2024-03-25 21:25:56 -04:00
46610117d3
Fix lightmap capture not applied in one octant
...
GI from probe captures was not applied to dynamic objects in the (-,-,-)
octant of the lightmap. If the object had traveled from a different part
of the lightmap, it would simply not update anymore and kept whatever
ambient light it had from before. If the object on the other hand came
from outside of the lightmap into this octant, it would receive no
ambient light at all.
2024-03-08 12:43:38 +01:00
a5d3d23db4
Fix never ending loop with overlapping probes
2024-03-05 10:07:56 +11:00