James
80096e9e62
Fix a crash bug in LightmapGI::_assign_lightmaps triggered after reparenting
...
After reparenting the LightmapGI node, the following `node` would be
initialized to null:
Node *node = get_node(light_data->get_user_path(i));
Which would then crash when de-referenced further down. This fix detects
which the node has been reparented and clears its users.
2025-02-05 12:18:56 +01:00
demolke
2a3e0d47ea
LightmapGI: Including modules_enabled.gen.h to properly check the configuration warning
2025-01-09 09:55:28 +01:00
Hendrik Brucker
054340bb6b
Add a supersampling option to LightmapGI
...
This provides increased lightmap quality with less noise, smoother
shadows and better small-scale shadow detail. The downside is that
this significantly increases bake times and memory usage while baking
lightmaps, so this option is disabled by default.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: landervr <31851431+CpnWaffle@users.noreply.github.com>
2025-01-07 18:44:59 +01:00
A Thousand Ships
a1846b27ea
Improve use of Ref.is_null/valid
...
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Hendrik Brucker
a3525bc015
Add transparency support for LightmapGI
...
Co-authored-by: Guerro323 <kaltobattle@gmail.com>
2024-12-18 19:36:16 +01:00
BlueCube3310
85e4d1b9d3
LightmapGI: Automatically compress new lightmaps
2024-12-12 17:43:47 +01:00
BlueCube3310
189c8eb671
Implement shadowmasks for LightmapGI
...
Co-authored-by: dearthdev <nathandearthdev@gmail.com>
2024-12-12 11:00:28 +01:00
Bad Sector
5bca028e2b
Add lightmap bake cancelling
2024-11-21 21:31:02 +02:00
Hugo Locurcio
1e5f0a86ca
Allow more flexible adjustments of VisualInstance3D Lightmap Scale
...
Any floating-point value greater than 0.01 can now be used.
Prior to this change, only factors of 1×, 2× and 4× and 8× could be used.
2024-11-14 17:28:05 +01:00
Thaddeus Crews
b748c91e5b
Merge pull request #98289 from BlueCube3310/lightmap-clenaup
...
LightmapGI: Clean up and improve lightmap atlas storage
2024-10-29 19:25:58 -05:00
BlueCube3310
184395401b
LightmapGI: Clean up and improve lightmap atlas storage
2024-10-18 10:20:37 +02:00
A Thousand Ships
de128812f3
Fix unreachable code in lightmap_gi.cpp
2024-10-15 13:17:15 +02:00
Hugo Locurcio
0807d60d68
Check RenderingDevice availability to display LightmapGI configuration warnings
...
We can now check whether RenderingDevice can be created (which is
not guaranteed when using the Compatibility rendering method),
so the warning can be displayed only when relevant.
This also disables the Bake Lightmaps button with a tooltip if baking
is not available.
2024-09-28 23:56:47 +02:00
Rémi Verschelde
49b725ddcc
Merge pull request #93353 from AThousandShips/config_warning_fix
...
Fix super call in various `get_configuration_warnings` methods
2024-09-08 23:21:09 +02:00
BlueCube3310
a89f4fa5a9
LightmapGI: Pack L1 SH coefficients for directional lightmaps
2024-09-05 22:46:58 +02:00
A Thousand Ships
9dc231366d
Fix super call in various get_configuration_warnings methods
2024-09-05 16:08:35 +02:00
Rémi Verschelde
cba8e3bf3d
Merge pull request #95000 from Calinou/lightmapgi-environment-fix-custom-rotation-bake
...
Fix LightmapGI not taking environment sky rotation into account when baking
2024-08-16 10:35:13 +02:00
Rémi Verschelde
a3266e28be
Merge pull request #83497 from grenappels/probe_distance_fix
...
Fix generated light probes placing too close to manual light probes
2024-08-16 10:33:12 +02:00
Hugo Locurcio
661cf1f351
Fix LightmapGI not taking environment sky rotation into account when baking
...
The sky rotation now affects the baked environment lighting as it should,
making it match how real-time ambient light rendering works.
Co-authored-by: Per Melin <git@melin.net>
2024-08-05 17:54:11 +02:00
jsjtxietian
a8526e68a7
Fix newly baked lightmap can't override previously baked at same path
2024-07-23 12:38:20 +08:00
BlueCube3310
60a255a0d0
Lightmapper: Prevent infinite loop when blitting lightmaps into an atlas
2024-07-13 13:10:04 +02:00
landervr
e7bd1b0673
Add denoiser range property for LightmapGI
2024-05-15 08:26:04 +02:00
Per Melin
a990e42207
LightmapGI: Reduce warnings and increase probe accuracy
2024-04-15 18:57:53 +02:00
Rémi Verschelde
21f0529aa9
Revert "Update Node::get_configuration_warnings signature"
...
This reverts commit d3852deaa4 .
2024-02-17 19:03:21 +01:00
RedMser
d3852deaa4
Update Node::get_configuration_warnings signature
2024-02-08 23:05:20 +01:00
clayjohn
efb1cbaad4
Add GLES3 infrastructure for lightmap baking in the compatibility backend
2024-01-24 17:13:30 -08:00
Marcin Nowak
eea2ad4019
Add texel_scale property to LightmapGI
2024-01-04 16:24:19 +01:00
David Snopek
749f60ee36
OpenGL: Implement rendering of lightmaps
2023-12-04 18:34:06 -06:00
Rémi Verschelde
bf46ee144d
Merge pull request #77788 from gongpha/stop-posting-about-(re)importing-assets-whatever-dot-exr
...
Avoid reimporting lightmap textures every getter call
2023-10-26 15:57:46 +02:00
Hugo Locurcio
e4d846378b
Fix LightmapGI taking editor-only and sky-only lights into account
...
These lights are not visible when running the project (or at all),
so they shouldn't affect the lightmap baking process.
2023-10-23 22:56:17 +02:00
Kongfa Waroros
c165f0cf2e
Avoid reimporting lightmap textures every getter call
2023-10-22 16:32:08 +07:00
Kyle Appelgate
97205ea5b8
fix to ensure generated light probes do not get placed too close to manual light probes
2023-10-17 08:56:35 -04:00
Dario
a9a197d2dc
Rewrite the GPU Lightmapper's indirect lighting logic to match Godot 3.5's CPU Lightmapper.
...
Port over the logic from Godot 3.5 for indirect lighting. This should fix many issues about indirect bounces causing more energy and improve the overall quality of the result.
2023-10-13 14:33:55 -03:00
Yuri Sizov
aa82cccc41
Merge pull request #81659 from DarioSamo/nlm-denoiser
...
Replace OIDN denoiser in Lightmapper with a JNLM denoiser compute shader.
2023-09-27 19:08:01 +02:00
Rémi Verschelde
538928b273
Merge pull request #81545 from bitsawer/fix_lightmap_gridmap_bake
...
Fix LightmapGI baking with GridMap
2023-09-26 08:20:29 +02:00
Dario
1b2b726502
Replace OIDN denoiser with a JNLM denoiser compute shader implementation.
2023-09-25 14:53:45 -03:00
bitsawer
8c26da5460
Fix LightmapGI baking with GridMap
2023-09-11 15:15:40 +03:00
Dario
7dfb854556
Propagate error correctly when max texture size for lightmaps is too small.
...
Add error handling for BAKE_ERROR_LIGHTMAP_TOO_SMALL, which was previously ignored. Fixes #81453 .
2023-09-11 09:14:39 -03:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
...
Also includes typo fixes from #79993 , #80068 , #80276 , and #80303 .
Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
Hendrik Brucker
7e21eb7e00
Extract and reorganize texture resource classes
2023-07-14 20:04:21 +02:00
clayjohn
c69b14e96e
Add warnings for unsupported features in mobile and gl_compatibility backends
2023-02-26 12:28:02 -08:00
clayjohn
340c3b84fd
Set Default compression to VRAM uncompressed for LightmapGI
...
This increases the speed to be near instant and removes the perceived lightmap bake speed regression
We need to investigate the speed and quality issues with BPTC and re-enable compression when we can
2023-02-11 16:26:09 -08:00
Rémi Verschelde
0927e2cffc
Merge pull request #63251 from SaracenOne/disable_data_generation_on_foreign_resources
...
Disable navmesh, lightmap, and VoxelGI generation on foreign data
2023-01-23 15:35:31 +01:00
kobewi
615c517034
Use range iterators in LocalVector loops
2023-01-21 18:44:42 +01:00
clayjohn
e0e073138d
Enforce a default minimum lightmap size hint size
2023-01-13 17:46:55 -08:00
SaracenOne
f5edeb8f58
Disable navmesh, lightmap, and VoxelGI generation on foreign data
2023-01-06 08:39:27 -08:00
Rémi Verschelde
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
Adam Scott
ea33001b95
Add safety-checks before some servers free()
2022-12-29 16:23:38 -05:00
kobewi
072f6feaba
Make some Image methods static
2022-10-14 14:34:15 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00