Commit Graph

29070 Commits

Author SHA1 Message Date
JFonS 7d7d7ef16d CPU lightmapper formatting and minor fixes. 2021-01-14 18:08:33 +01:00
JFonS 089da5a71b Gracefully handle atlassed lightmaps in GLES2. 2021-01-14 18:06:16 +01:00
JFonS 112b416056 Implement new CPU lightmapper
Completely re-write the lightmap generation code:
- Follow the general lightmapper code structure from 4.0.
- Use proper path tracing to compute the global illumination.
- Use atlassing to merge all lightmaps into a single texture (done by @RandomShaper)
- Use OpenImageDenoiser to improve the generated lightmaps.
- Take into account alpha transparency in material textures.
- Allow baking environment lighting.
- Add bicubic lightmap filtering.

There is some minor compatibility breakage in some properties and methods
in BakedLightmap, but lightmaps generated in previous engine versions
should work fine out of the box.

The scene importer has been changed to generate `.unwrap_cache` files
next to the imported scene files. These files *SHOULD* be added to any
version control system as they guarantee there won't be differences when
re-importing the scene from other OSes or engine versions.

This work started as a Google Summer of Code project; Was later funded by IMVU for a good amount of progress;
Was then finished and polished by me on my free time.

Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2021-01-14 18:05:56 +01:00
JFonS a80e4a6158 Add Embree thirdparty library 2021-01-14 18:02:07 +01:00
JFonS ad8abef74c Add OpenImageDenoise thirdparty library 2021-01-14 18:02:07 +01:00
Rémi Verschelde 782a548ee3
Merge pull request #45185 from KoBeWi/show_time!
Fix wrong signal in EditorPropertyColor
2021-01-14 15:48:28 +01:00
Rémi Verschelde aa3bdade4e
Merge pull request #45184 from lawnjelly/bvh_plusone
BVH - fix physics expecting plus one based IDs.
2021-01-14 15:47:43 +01:00
kobewi 8386aa4601 Fix wrong signal in EditorPropertyColor 2021-01-14 14:55:08 +01:00
lawnjelly 7b33050b3d BVH - fix physics expecting plus one based IDs.
Godot physics relies on ID zero being invalid, whereas BVH 0 is a valid ID.
2021-01-14 13:26:44 +00:00
Sergey Minakov cb15abda29 iOS Export: support multi-target plugin
Plugins can use 'binary_name.a' or 'binary_name.release.a' and 'binary_name.debug.a' for plugin library.
2021-01-14 15:38:16 +03:00
Sergey Minakov d5047603a3 iOS Export: export modification to support plugins
Added plugin configuration.
Export options now use plugins that could be enabled/disabled.
Plugin changes are observed at runtime.
2021-01-14 15:38:05 +03:00
Sergey Minakov 03cf3d5d4b iOS: change platform code to support plugins 2021-01-14 15:30:09 +03:00
Sergey Minakov 614f701373 iOS Modules: separate main platform code from modules
Moved previously builtin modules 'GameCenter', 'AppStore', 'iCloud' to separate modules to be represented as plugin.
Modified 'ARKit' and 'Camera' to not be builtin into engine and work as plugin.
Changed platform code so it's not affected by the move.
Modified Xcode project file to remove parameters that doesn't make any effect.
Added basic '.gdip' plugin config file.
2021-01-14 15:30:00 +03:00
Yuri Sizov 6b13c8482a Prevent signal disconnection attempts on invalid references 2021-01-14 15:21:12 +03:00
Rémi Verschelde a329de566c
Merge pull request #45168 from madmiraal/fix-44703-3.2
[3.2] Fix not clearing a Joint3D with only a B node when removing the B node
2021-01-14 08:26:32 +01:00
Fabian Stiewitz ba81e8ca09 fix gltf not importing files w/o bufferViews or accessors 2021-01-14 00:14:55 +01:00
Filip f1d00522f5 Fixed completion and hint panel positioning in TextExit [3.2] 2021-01-13 21:44:05 +01:00
Marcel Admiraal b651db999c Fix not clearing a Joint3D with only a B node when removing the B node 2021-01-13 18:29:44 +00:00
Rémi Verschelde f93c2ddc92
Merge pull request #45163 from akien-mga/3.2-cherrypicks
Cherry-picks for the 3.2 branch (future 3.2.4) - 16th batch
2021-01-13 17:38:05 +01:00
Rémi Verschelde 652105dcdd
Merge pull request #44704 from madmiraal/fix-44510-3.2
[3.2] Add signal to inform joint that body has exited tree
2021-01-13 17:16:19 +01:00
Rémi Verschelde b64fe918aa
Merge pull request #45160 from madmiraal/fix-45145-3.2
[3.2] Only remove Bullet's body constraints when removing body from space
2021-01-13 17:16:01 +01:00
Rémi Verschelde b9c5e2f9eb
doc: Sync classref with current source
And fix copyright headers in new code.
2021-01-13 16:55:27 +01:00
PouleyKetchoupp a994bb4ad3
Fix collision shape update when changing shape properties
This change does two things:

1. Properly update the internal shape data using _update_in_shape_owner
when updating a shape (in 2D it was resetting one way collision)

2. Avoid unnecessary updates when calling set_shape with the same shape,
which happens each time a shape property is modified
(e.g shape.extents.x = ...)

Fixes #45090

(cherry picked from commit 4b43cd17c5)
2021-01-13 16:54:22 +01:00
Rémi Verschelde 8a8e0ae2eb
Merge pull request #40990 from madmiraal/fix-40739-3.2
[3.2] Reload Bullet space override modifier even when RigidBody is inactive.
2021-01-13 16:44:04 +01:00
Rafał Mikrut 8f19d50e27
Fix errors when removing non Control node from TabContainer
(cherry picked from commit 56734f44e5)
2021-01-13 16:17:10 +01:00
TechnoPorg d824efda75
Fix incorrect parameter in audio_track_set_key_stream.
The description for audio_track_set_key_stream referenced a parameter called offset, which is not a parameter for that method. The description now references the correct parameter, stream.

(cherry picked from commit 81dc9be973)
2021-01-13 16:17:10 +01:00
Michael Alexsander 975a6194e7
Fix script list only showing their names regardless of display option
(cherry picked from commit 4194447a21)
2021-01-13 16:17:10 +01:00
skyace65 45cdb8aab3
Remove the implication that references and resources are not objected from their description
(cherry picked from commit dca298d22b)
2021-01-13 16:17:10 +01:00
Andrii Doroshenko (Xrayez) 9c9ac159e9
Clarify `lstrip()/rstrip()` methods in `String` for removed characters
(cherry picked from commit a2c82bbf5f)
2021-01-13 16:17:09 +01:00
Vedat Günel de34616552
Change reserved keyword in Regex documentation code
(cherry picked from commit 446a3f8ff2)
2021-01-13 16:17:09 +01:00
Filip 12a7ff5ad2
Add all AutoLoad resources when exporting the project
(cherry picked from commit 4383c5026a)
2021-01-13 16:17:09 +01:00
David Snopek bd0f5f50b2
Invert the Y-axis on thumbsticks and trackpads in WebXR
(cherry picked from commit 7a0d4275a2)
2021-01-13 16:17:09 +01:00
kobewi 3873a1331b
Emit changed signal from Color Picker when changed
(cherry picked from commit a00ac12ae9)
2021-01-13 16:17:09 +01:00
zero13cool 57416ce3ff
Changed type to make it work on x32 architecture.
(cherry picked from commit 9f3d7d9709)
2021-01-13 16:17:09 +01:00
Lorenz Junglas c7f2f9fa1f
Fix nanosleep usage
nanosleep returns 0 or -1 not the error code.
The error code "EINTR" (if encountered) is placed in errno, in which case nanosleep can be safely recalled with the remaining time.

This is required, so that nanosleep continues if the calling thread is interrupted by a signal.

See manpage nanosleep(2) for additional details.

(cherry picked from commit 1107c7f327)
2021-01-13 16:17:09 +01:00
Hugo Locurcio 952a089551
Don't allow adding Objects to the project settings
Godot doesn't support serializing objects.

This closes #33667.

(cherry picked from commit 7b84f4fc31)
2021-01-13 16:17:08 +01:00
Rémi Verschelde 52e674ded1
pcre2: Update to upstream version 10.36
Changelog: https://vcs.pcre.org/pcre2/code/tags/pcre2-10.36/ChangeLog?view=markup
(cherry picked from commit 951ad29c0f)
2021-01-13 16:17:08 +01:00
Rémi Verschelde 08efd1c908
COPYRIGHT: Update with recent additions, cleanup
Also include public domain assets in `COPYRIGHT.txt` with Unlicence text or
dual-licensing scheme.

And document commit hashes for most thirdparty code in `thirdparty/README.md`
for clarity, and in case there's no tag matching the included version numbers.

(cherry picked from commit c6802a65c6)
2021-01-13 16:17:08 +01:00
Rémi Verschelde d044c57069
enet: Sync with upstream 1.3.17
(cherry picked from commit d8495d41ca)
2021-01-13 16:17:08 +01:00
Rémi Verschelde 4b59e1e736
zstd: Update to upstream version 1.4.8
(cherry picked from commit 3645c9c80c)
2021-01-13 16:17:08 +01:00
Hugo Locurcio 49c2f2fec2
Make links on the HTML5 editor more readable
This also tweaks the focus style to apply to all elements for
better keyboard navigation.

(cherry picked from commit 663466b882)
2021-01-13 16:17:08 +01:00
Aaron Franke 6e1b2af770
Descriptive error message when using AudioStream(OGG/MP3) incorrectly
(cherry picked from commit 193564d83e)
2021-01-13 16:17:08 +01:00
kobewi d16f2bddee
Clarify class_get_method_list() in release exports
(cherry picked from commit 84acafb2ce)
2021-01-13 16:17:07 +01:00
PouleyKetchoupp dad3f27e9f
Update String property field only when text has changed
Avoids resetting the cursor position when the inspector updates while
editing a string property.

Fixes #42488

(cherry picked from commit c064378f95)
2021-01-13 16:17:07 +01:00
Eric M db3e18b9c6
Made save dialog open immediately when running unsaved scene.
Previously there was an unneeded confirmation dialog.

(cherry picked from commit a54110ba60)
2021-01-13 16:17:07 +01:00
nevarek 2167b977de
Optimize data format for OpenSimplex images
The previous RGBA format included unused RGB data. Using the LA8 format
removes the need to store the extra data.

The Docs have been updated to reflect the format changes.

(cherry picked from commit 041fe20f64)
2021-01-13 16:17:07 +01:00
jeffuntildeath 64cbff7e7d
Snap To Floor improperly offsets node
fix for issue #44282

AABB for collision geometry was being calculated based on parent nodes transform without consideration for collision geometries translation.
Also hopefully clarified logic for selecting starting point for ray cast

(cherry picked from commit 4f171afecc)
2021-01-13 16:17:07 +01:00
Rémi Verschelde 49646383f1
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆

(cherry picked from commit b5334d14f7)
2021-01-13 16:17:06 +01:00
Rémi Verschelde 188609e5ab
CI: Update to clang-format 11 and apply ternary operator changes
(cherry picked from commit af878716f2)
2021-01-13 16:14:35 +01:00
Marcel Admiraal 47657cd140 Only remove Bullet's body constraints when removing body from space 2021-01-13 13:45:40 +00:00