Commit Graph

76 Commits

Author SHA1 Message Date
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
1690ede988 Track compositor effects that use motion vectors so we enable required logic 2024-06-12 12:37:18 +10:00
a2fc5e2d78 Merge pull request #89894 from BastiaanOlij/improve_foveated_rendering
Improvements to VRS/Foveated rendering
2024-05-04 11:52:15 +02:00
9042ddf19f Improvements to VRS/Foveated rendering 2024-05-03 17:20:30 +10:00
f9b488508c Add PackedVector4Array Variant type
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
e8bb0a5719 Add adjustments and color correction to Compatibility renderer 2024-04-25 12:24:51 -07: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
9903e6779b Enforce template syntax typename over class 2024-03-07 22:39:09 -06:00
a5d3d23db4 Fix never ending loop with overlapping probes 2024-03-05 10:07:56 +11:00
652438a395 Merge pull request #87360 from BastiaanOlij/gles_glow
Implement glow/bloom on compatibility renderer
2024-02-20 23:59:48 +01:00
aa260e5f3d Implement glow/bloom on compatibility renderer 2024-02-19 13:29:43 +11:00
5a98845655 Implement hooks into renderer 2024-02-18 21:54:21 +11:00
08f4560e69 Add optional depth fog 2024-02-17 22:39:34 -03: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
55ed34e37c Use '_v' shorthand for type traits and 'if constexpr' where appropriate 2024-02-02 15:43:21 +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
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
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
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
057367bf4f Add FidelityFX Super Resolution 2.2 (FSR 2.2.1) support.
Introduces support for FSR2 as a new upscaler option available from the project settings. Also introduces an specific render list for surfaces that require motion and the ability to derive motion vectors from depth buffer and camera motion.
2023-09-25 10:37:47 -03:00
293302ccd8 Add motion vector support for GPU 3D Particles.
Add the capability of resizing the transforms buffer for particles to be double its size and alternate where the current output is written to. Only works for particles that use index as their draw order.
2023-08-28 10:56:02 -03: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
1fe49e7271 Merge pull request #79142 from BastiaanOlij/register_render_buffers
Expose RenderSceneBuffers(RD) through ClassDB
2023-07-27 15:22:27 +02:00
4874b96033 Expose RenderingSceneBuffers through ClassDB 2023-07-26 23:48:30 +10:00
63d6e9c557 Add custom texture create function 2023-07-26 20:46:34 +10:00
23c375d6b4 Fix shader uniform storage conversions and crash 2023-05-29 15:17:13 +03: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
c69b14e96e Add warnings for unsupported features in mobile and gl_compatibility backends 2023-02-26 12:28:02 -08: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
eb9c2b878a Automatically transform Skeleton2D calculations so pivots are not needed 2023-01-27 14:55:22 -08:00
49bebf2bfb Sort decals and lights based on camera origin
Also implement sort_offset for decals

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-01-20 09:58:17 -08:00
478c37deb8 Improving communication of scaling settings to renderer implementation 2023-01-13 12:54:15 +11:00
d95794ec8a One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
e886a7af81 Cleanup and improve sky render 2022-12-23 19:45:19 +11:00
e0f1e02cc7 Fix use of comma instead of semicolon
Signed-off-by: Quentin Guidée <quentin.guidee@gmail.com>
2022-12-17 20:17:04 -05:00
9ce57050a5 Add GPUParticles to the OpenGL3 renderer.
This includes collision (2D SDF, Box, Sphere, Heightmap),
attraction (Box, Sphere), and all sorting modes.

This does not include 3D SDF collisions, trails, or
manual emission.
2022-11-14 23:28:25 -08:00
3b14f0334c Remove redundant Variant-types initializations 2022-11-14 19:35:19 +01:00
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
7fb8b931d7 Collapse three seperate texture storage methods into render_target_set_override() 2022-11-03 13:03:30 -05:00
71d8de2763 Expose texture_get_rd_texture 2022-11-03 05:27:24 +01:00
11e1bac768 Merge pull request #67112 from Chaosus/fix_boolean_uniform_instances 2022-10-28 23:17:23 +03:00
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
f4db4bb7a2 Fix incorrect setup of boolean uniform instances 2022-10-09 08:50:18 +03:00
c7656978ba Adding getters to RenderTarget and implementing override functionality for XR 2022-10-05 11:37:49 +11:00