Commit Graph

166 Commits

Author SHA1 Message Date
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
63d6e9c557 Add custom texture create function 2023-07-26 20:46:34 +10:00
8a3e829930 (Re-)Implemented Light3D's property "shadow_reverse_cull_face"
The parameter shadow_reverse_cull_face is now passed to the shadow pass so that the mesh back-faces are used for shadow map calculation.
2023-05-19 19:22:10 +02:00
c328676d96 For GDExternal use, provides access to internal graphics handles for textures 2023-05-09 13:47:22 +10:00
70dca9ff55 Merge duplicate rd_texture functions 2023-03-10 21:37:01 +11:00
56450fb179 Implement cull_mask for decals and lights in mobile and compatibility backends 2023-02-06 12:12:47 -08:00
3eb1ac9fd2 Merge pull request #72075 from Maran23/extents-to-size
Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal  and GPUParticles*3D
2023-02-01 07:30:09 +01:00
a59819630d Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
- Extents are replaced by Size (Size is Extents * 2)
- The UI text displays 'Size'
- Snapping is adjusted to work with Size
- _set and _get handle extents for compatibility

Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2023-01-31 20:04:11 +01:00