0d350e7108
Set clang-format RemoveSemicolon rule to true
...
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04: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
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
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
1a6f8512bc
Add external texture support (GLES3)
...
Co-authored-by: Fredia Huya-Kouadio <fhuyakou@gmail.com >
Co-authored-by: Mauricio Narvaez <nvz@meta.com >
2024-09-20 10:48:32 -05:00
b37fc1014a
Style: Apply new clang-format changes
2024-09-20 08:09:48 -05:00
7d56b09f23
Expose a function to create textures from a native handle in the compatibility renderer
2024-09-19 09:05:32 -05:00
f04a9bb630
Avoid const_cast in mesh_storage.h
2024-08-28 14:46:03 -07:00
6a9ecdcf0c
Merge pull request #91818 from rburing/fti_multimesh
...
Physics interpolation: `MultiMesh`
2024-08-20 10:01:46 +02:00
8acd82f70e
Merge pull request #89919 from BlueCube3310/bicubic-lightmap
...
Implement bicubic sampling for lightmaps
2024-08-20 10:01:41 +02:00
6bf64027b7
Merge pull request #94785 from Chaosus/shader_fix_samplers_order
...
Fix texture samplers to not being last in the property list
2024-08-19 16:05:21 +02:00
ef9bb1a207
Implement support for bicubic lightmap filtering
...
Co-authored-by: Calinou <hugo.locurcio@hugo.pro >
2024-08-19 09:52:09 +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
a54b71bbdf
Add shadow_caster_mask to Light3D.
2024-08-12 00:17:11 +01:00
f8c99efc3b
Fix LightmapGI causes crash when using --headless
...
Fixes #89119
Add dummy LightmapInstance and Lightmap resources for headless rendering
Prevents the RenderingServer from crashing when it accesses
lightmap_instance->base_data
2024-08-07 11:38:05 +02:00
e41048e16e
Fix texture samplers to not being last in the property list
2024-07-29 09:19:09 +03:00
1eb0039b6e
Fix regression around OpenGL swapchain optimisation for OpenXR
2024-07-29 12:46:58 +10:00
9042ddf19f
Improvements to VRS/Foveated rendering
2024-05-03 17:20:30 +10: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
a5d3d23db4
Fix never ending loop with overlapping probes
2024-03-05 10:07:56 +11:00
b82855bcc1
Merge pull request #88581 from jsjtxietian/dummy-crash
...
Fail early if shader mode is invalid in dummy renderer
2024-02-23 11:29:42 +01:00
a382e9539b
Fail early if shader mode is invalid in dummy renderer
2024-02-23 12:25:02 +08:00
5a98845655
Implement hooks into renderer
2024-02-18 21:54:21 +11:00
1b8e12c499
Merge pull request #88409 from jsjtxietian/high-end
...
Make dummy rendering server appear as a high end platform to fix vulkan shader compile error when exporting
2024-02-17 00:27:30 +01:00
59643bdb86
Merge pull request #88325 from akien-mga/texture-formats
...
Export: Unify settings for PC texture formats, removed obsoleted ETC feature
2024-02-17 00:23:45 +01:00
f5ffe705ed
Merge pull request #88210 from TitanNano/jovan/missing_surface_data
...
Assign missing surface data fields in dummy render server
2024-02-17 00:23:19 +01:00
f6aabd2b72
Make dummy rendering server appear as a high end platform
...
to fix vulkan shader compile error when exporting
2024-02-16 23:33:50 +08:00
7ac8365e11
Support custom AABB within MultiMesh resources
...
- Supporting custom AABB on the MultiMesh resource itself allows us to prevent costly runtime AABB recalculations.
- Should also help improve CPU Particle performance.
2024-02-15 22:37:07 -08:00
e457f41f9b
Remove code relative to obsoleted ETC texture format
...
Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com >
2024-02-14 17:16:41 +01:00
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
48b71cf700
Assign missing surface data fields in dummy render server
2024-02-11 14:58:34 +01:00
406d7e6d37
Fix missing instance type in dummy renderer
2024-02-08 12:15:26 +01:00
666daf47c3
Free dummy renderer objects
...
These leaked during tests etc.
2024-01-29 19:28:29 +01:00
1018706c87
Merge pull request #87390 from clayjohn/dummy-multimesh
...
Add basic multimesh data needed for headless export to the Dummy rendering server
2024-01-25 16:27:06 +01:00
344fe62bdb
Merge pull request #87392 from clayjohn/dummy-shader
...
Add DummyShader handling to Dummy RenderingServer to ensure shader parameters are saved in headless export
2024-01-24 14:08:28 +01:00
2ce450f8bc
Merge pull request #84894 from clayjohn/tangent-error-message
...
Store ArrayMesh path in RenderingServer for use in error messages
2024-01-24 14:07:47 +01:00
21ade7f0f7
Add DummyShader handling to Dummy RenderingServer to ensure shader parameters are saved in headless export
2024-01-22 13:57:11 -08:00
25f573ca63
Add a reflection mask to the reflection probes.
...
Co-authored-by: Bastiaan Olij <mux213@gmail.com >
2024-01-20 08:07:31 +01:00
ed2b3d358d
Add basic multimesh data needed for headless export to the Dummy rendering server
2024-01-19 17:21:55 -08:00
d6caa69e11
Skip swapchain logic if there is nothing to present (Android OpenXR)
2024-01-08 21:51:04 +11:00
528b4a3283
Implement render info counters for the 2D renderer
...
This provides information for the debug monitors
2023-12-06 14:39:33 -07:00
47983e30c5
Ensure 2D MSAA resolve is performed when 3D content but no 2D content in scene
2023-11-16 13:34:34 +11:00
ead36fdcc4
Store ArrayMesh path in RenderingServer for use in error messages
2023-11-14 16:27:10 +01:00
f021d33940
Merge pull request #81167 from bitsawer/fix_sdfgi_editor_change
...
Reset SDFGI when changing editor scene tabs
2023-10-25 10:27:03 +02:00
4b7cc99bc1
Merge pull request #79169 from reduz/debug-canvas-item-redraw
...
Debug CanvasItem redraw
2023-10-11 08:40:05 +02:00
c228fe1a0d
Particle internal refactor and additions for more artistic control
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro >
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com >
Co-authored-by: Raul Santos <raulsntos@gmail.com >
Co-authored-by: Mew Pur Pur <85438892+MewPurPur@users.noreply.github.com >
Co-authored-by: Clay John <claynjohn@gmail.com >
2023-10-10 20:03:35 +02:00
fdd3d36c6d
[Servers] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable
2023-09-25 18:45:30 +02:00
836705d7a9
Reset SDFGI when changing editor scene tabs
2023-08-30 19:50:05 +03:00
407b16ab00
Debug CanvasItem redraw
...
I wanted to add this tool for years and always forget. This command line option:
```
$ godot.exe -e --debug-canvas-item-redraw
```
Allows to see when a canvas item is redrawn. This helps find out if something
in the UI is refreshing in a way it should not. Examples as such:
* Signals causing more of the UI to redraw.
* Container resizing causes more UI elements to redraw.
* Something using a timer is redrawing all time time, which can go unnoticed.
To my surprise, the editor UI is redrawing very efficiently. There is some
weird stuff with the scene tabs, redrawing when the inspector changes but most
things for the most part are fine.
2023-08-28 12:53:56 +02:00
57eb762bae
Add option to enable HDR rendering in 2D
...
This is needed to allow 2D to fully make use of 3D effects (e.g. glow), and can be used to substantially improve quality of 2D rendering at the cost of performance
Additionally, the 2D rendering pipeline is done in linear space (we skip linear_to_srgb conversion in 3D tonemapping) so the entire Viewport can be kept linear.
This is necessary for proper HDR screen support in the future.
2023-08-07 11:24:03 +02:00