Dario
76d709be74
Implement support for fragment density maps.
...
Co-Authored-By: Bastiaan Olij <mux213@gmail.com >
2025-03-24 11:50:04 -05:00
clayjohn
4cf9d58dce
Clean up more dynamic allocations in the RD renderers with a focus on 2D.
2025-03-10 13:16:12 -07:00
Thaddeus Crews
dfdb5359ea
Merge pull request #103547 from clayjohn/forward-plus_instance_data_optimize
...
Optimize `_fill_instance_data` function in Forward+ renderer.
2025-03-09 09:05:19 -05:00
clayjohn
574f5126a2
Optimize _fill_instance_data function in Forward+ and Mobile renderers.
...
This batches together a couple of micro-optimizations that were discovered in profiling and analyzing disassembly.
Importantly, this reduces the amount of instructions in a heavy loop. This has the biggest impact when there are lots of objects and lights in the scene as the function is called once per objects + once per light that touches the object
2025-03-07 15:44:53 -08:00
Thaddeus Crews
324512e11c
Style: Replace header guards with #pragma once
2025-03-07 17:33:47 -06:00
Thaddeus Crews
b6ece17de1
Merge pull request #103529 from clayjohn/RD-trivial-instance-data
...
Validate triviality of InstanceData struct in Mobile and Forward+ renderers
2025-03-06 16:36:14 -06:00
clayjohn
1bdb3bc88a
Validate triviality of the InstanceData and RenderElementInfo structs in Mobile and Forward+ renderers.
...
This is needed to avoid overhead that results from calling the constructor during calls to LocalVector.resize()
2025-03-03 14:38:37 -08:00
kleonc
b691a997a3
Fix render info primitive count per TRIANGLE_STRIP
2025-02-15 23:50:07 +01:00
clayjohn
7444839299
Reduce mobile pipeline compilations by tracking more feature usage globally and only compile what is needed
2025-02-05 18:27:23 -08:00
Thaddeus Crews
4b9f88280b
Merge pull request #102122 from DarioSamo/default-sdfgi-fix
...
Fix default SDFGI variant not being compiled in time.
2025-01-29 17:45:17 -06:00
Thaddeus Crews
7e97ada3b7
Merge pull request #102125 from DarioSamo/ubershader-thread-priority
...
Mark pipeline compilation of ubershaders as high priority.
2025-01-29 17:45:16 -06:00
DarioSamo
5c7fd16eea
Fix framebuffer clear for particle collider heightfield.
2025-01-28 14:22:30 -03:00
Dario
d0c29faa15
Mark pipeline compilation of ubershaders as high priority.
2025-01-28 11:40:05 -03:00
Dario
655e98b2ea
Fix default SDFGI variant not being compiled in time.
2025-01-28 10:24:46 -03:00
Matias N. Goldberg
7b2f1e1d09
Fix union order to simplify empty initializers
...
This is a followup to PR #101344 (commit
0e06eb80bc ).
Some of them were not an issue because Godot was initializing all
members, but they were "fixed" just in case since it could become a
problem in the future.
Valgrind was specifically complaining about HashMapData &
GlobalPipelineData.
2025-01-14 19:05:01 -03:00
David House
e6daec9cf8
Added indirect drawing functionality to MultiMesh
...
Update doc/classes/RenderingServer.xml
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com >
2025-01-13 14:51:51 -06:00
Rémi Verschelde
3014eec40d
Merge pull request #99407 from devloglogan/rec-resolution
...
Allow using custom `Rect2i` for rendering with OpenXR
2025-01-10 23:05:46 +01:00
devloglogan
e7f6b7ea0b
Allow using custom Rect2i for rendering with OpenXR
2025-01-09 09:46:15 -06:00
Dario
0e06eb80bc
Fix union order to simplify empty initializers.
2025-01-09 10:39:13 -03:00
Rémi Verschelde
21fdf1678a
Merge pull request #101193 from clayjohn/FSR-y-aspect
...
Correct aspect ratio used in FSR2 calculations
2025-01-07 23:18:04 +01:00
clayjohn
25a9b04ecc
Correct aspect ratio used in FSR2 calculations to remove a source of depth-based ghosting
2025-01-06 14:00:58 -08:00
Stuart Carnie
11dc4f2e5e
Metal: Add MetalFX upscaling support
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro >
2025-01-06 06:03:18 -07:00
Yufeng Ying
e88e30c273
Remove unused headers in servers.
...
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com >
2024-12-20 18:51:01 +08:00
Thaddeus Crews
2fcd8223e8
Merge pull request #99538 from Geometror/lightmap-gi-transparent-surface
...
Add transparency support for LightmapGI
2024-12-19 19:59:52 -06:00
Alex Threlfo
5f617663aa
fix: separate sky luminance and user brightness calculations around fog
2024-12-20 11:25:11 +11:00
Hendrik Brucker
a3525bc015
Add transparency support for LightmapGI
...
Co-authored-by: Guerro323 <kaltobattle@gmail.com >
2024-12-18 19:36:16 +01:00
Rémi Verschelde
ffe53cba3c
Merge pull request #100374 from hpvb/fix-rendering-ubsan
...
Fix ubsan reported errors in rendering
2024-12-14 18:25:46 +01:00
Thaddeus Crews
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
Thaddeus Crews
6594a6364e
Merge pull request #100213 from DarioSamo/pipeline-hash-map-thread-safety
...
Improve thread-safety of pipeline hash map.
2024-12-13 16:19:34 -06:00
HP van Braam
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
Florent Guiocheau
5125adf40b
Fix large range point lights shadows
2024-12-12 15:37:38 +01:00
BlueCube3310
189c8eb671
Implement shadowmasks for LightmapGI
...
Co-authored-by: dearthdev <nathandearthdev@gmail.com >
2024-12-12 11:00:28 +01:00
clayjohn
fce34f22a2
Avoid error spam when shaders fail to compile by freeing shader_data version when compilation fails
2024-12-09 10:51:57 -08:00
Dario
be1dce1071
Improve thread-safety of pipeline hash map.
2024-12-09 15:12:40 -03:00
CrazyRoka
d9ef826c54
Optimize RenderForwardClustered::_setup_render_pass_uniform_set by reducing Vector allocations during push_back operations
2024-12-02 15:03:50 +01:00
Dario
6d5ac8f7ef
Resolve load and store ops automatically for render passes for discardable textures.
2024-11-25 11:27:48 -03:00
clayjohn
02efdb28dc
Unify y-flip behavior for sky in RD backends
2024-11-19 16:59:04 -08:00
clayjohn
90b4b48b5a
Ensure shadow material and mesh are not used with wireframe mode
...
And in the Compatibility renderer actually use the wireframe render mode
2024-11-16 22:25:00 -08:00
Thaddeus Crews
88d9903f6d
Merge pull request #86138 from EnlightenedOne/master
...
Fix Frustum Sky projection translation logic shearing
2024-11-04 21:52:07 -06:00
Dario
53099c56f0
Add multiple specialization constants to Forward+ and Mobile.
2024-11-04 14:35:40 -03:00
EnlightenedOne
1d141ab32a
Fix Frustum Sky projection translation logic, all pipelines, fixes 63863
2024-11-02 21:34:55 +00:00
Dario
427ba09efc
Fix soft shadows by increasing the bit count for specialization constants.
2024-10-28 10:26:50 -03:00
Chaosus
463e81413e
Make OUTPUT_IS_SRGB/CLIP_SPACE_FAR shader built-ins global
2024-10-24 12:32:05 +03:00
Dario
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
ywmaa
0a9ad8f9de
Implement vertex shading
...
This adds support in all backends, but the Compatibility renderer works the best.
Mobile and Forward+ can only support one directional light shader (the first in the tree)
While the Compatibility renderer supports any number of shadows.
Co-authored-by: Clay John <claynjohn@gmail.com >
2024-09-29 00:36:09 +02:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
clayjohn
7ff106f828
Use distance to AABB surface to calculate Mesh LOD instead of using supports
2024-09-11 14:17:09 -07:00
viksl
929c69bad8
Fixes alpha materials being rendered with a reverse cull which is visible in reflections from reflection probes.
2024-09-01 12:10:04 +02:00
Chaosus
f538376c3b
Add CLIP_SPACE_FAR built-in to spatial shader
2024-08-27 08:48:46 +03:00
Rémi Verschelde
8acd82f70e
Merge pull request #89919 from BlueCube3310/bicubic-lightmap
...
Implement bicubic sampling for lightmaps
2024-08-20 10:01:41 +02:00