Commit graph

7497 commits

Author SHA1 Message Date
jfons
6995b0429c Assorted fixes to UV unwrapping and GPU lightmapper
Various fixes to UV2 unwrapping and the GPU lightmapper. Listed here for
context in case of git blame/bisect:

* Fix UV2 unwrapping on import, also cleaned up the unwrap cache code.
* Fix saving of RGBA images in EXR format.
* Fixes to the GPU lightmapper:
	- Added padding between atlas elements, avoids bleeding.
	- Remove old SDF generation code.
	- Fix baked attenuation for Omni/Spot lights.
	- Fix baking of material properties onto UV2 (wireframe was
	  wrongly used before).
	- Disable statically baked lights for objects that have a
	  lightmap texture to avoid applying the same light twice.
	- Fix lightmap pairing in RendererSceneCull.
	- Fix UV2 array generated from `RenderingServer::mesh_surface_get_arrays()`.
	- Port autoexposure fix for OIDN from 3.x.
	- Save debug textures as EXR when using floating point format.
2021-05-03 18:10:34 +02:00
Rémi Verschelde
0d819ae5f5
Merge pull request #48403 from kleonc/tilemap-editor-modulate-autotile-preview
TileMapEditor Modulate autotile previews
2021-05-03 16:00:50 +02:00
kleonc
3f1b95cfb1 TileMapEditor Modulate autotile previews 2021-05-03 14:58:02 +02:00
kleonc
a1b903066e TileMapEditor::_bucket_fill Check autotile coordinates only if autotile is selected 2021-05-03 14:49:52 +02:00
Michael Alexsander
46e0161737 Add comment highlighting to script thumbnails 2021-05-02 21:48:37 -03:00
Mateo Kuruk Miccino
dc76938679 FileSystem: Force update when we delete a folder from the editor and searching changes only if we change the directory successfully in the scan_fs_changes 2021-05-01 22:12:02 -03:00
reduz
90056460ad Implement Particle Trails
-Enable the trails and set the length in seconds
-Provide a mesh with a skeleton and a skin
-Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh
-Works deterministically
-Fixed particle collisions (were broken)
-Not working in 2D yet (that will happen next)
2021-04-30 17:38:02 -03:00
Rémi Verschelde
5b16020846
Replace remaining uses of NULL with nullptr
Follow-up to #38736 (these uses were likely added after this PR was merged).
2021-04-29 11:53:27 +02:00
Rémi Verschelde
0e93a1df79
Remove obsolete LargeTexture, it's no longer useful since 3.x
It existed in early Godot releases to allow working around hardware limitations
on max texture sizes (e.g. hardware limits of 1024x1024 pixels).

Nowadays the max texture size supported natively by Godot is 16384x16384, and
even low end mobile hardware should support at least 4096x4096.

The LargeTexture implementation is basically just an array with offsets, sizes
and textures and should be easy to replicate with a custom Texture resource if
needed - solving most of its bugs on the way as the implementation removed here
has various unimplemented or incomplete methods.
2021-04-28 15:51:55 +02:00
Rémi Verschelde
305b2a15bf
Merge pull request #48239 from akien-mga/goodbye-copymem
Core: Drop custom `copymem`/`zeromem` defines
2021-04-28 11:04:05 +02:00
Rémi Verschelde
95cfce661b
Merge pull request #48050 from JFonS/occlusion_culling 2021-04-27 19:07:12 +02:00
Rémi Verschelde
8247667a3e
Core: Drop custom copymem/zeromem defines
We've been using standard C library functions `memcpy`/`memset` for these since
2016 with 67f65f6639.

There was still the possibility for third-party platform ports to override the
definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27 16:26:27 +02:00
Rémi Verschelde
b95a82d46a
Merge pull request #47826 from Chaosus/vs_fix_default_input_overriding
Prevents default values of VSNodeCustom from overriding by a script
2021-04-27 10:42:51 +02:00
Hugo Locurcio
5d124c4a8f
Remove uses of auto for better readability and online code reviews
The current code style guidelines forbid the use of `auto`.

Some uses of `auto` are still present, such as in UWP code (which
can't be currently tested) and macros (where removing `auto` isn't
easy).
2021-04-26 14:59:28 +02:00
Rémi Verschelde
a804d33281
Merge pull request #46952 from LightningAA/patch-1
Remove current export template version from "Installed Versions"
2021-04-24 11:46:32 +02:00
Rémi Verschelde
759b876b8a
Merge pull request #46593 from pycbouh/theme-editor-better-edit-ui
Refactor Edit Theme menu in Theme Editor
2021-04-23 23:12:25 +02:00
jfons
4d9d99bb82 Implement occlusion culling
Added an occlusion culling system with support for static occluder meshes.
It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`.

Occluders are defined via the new `Occluder3D` resource and instanced using the new
`OccluderInstance3D` node. The occluders can also be automatically baked from a
scene using the built-in editor plugin.
2021-04-23 21:45:23 +02:00
Fabio Alessandrelli
6cfbf36338
Merge pull request #48079 from sboron/fix-47643-remote
Fix Closing Running Game, still shows remote and local tabs
2021-04-23 02:59:37 +02:00
Stefan Boronczyk
7b9a9e57a7 fix stop debugger on closing game 2021-04-23 01:04:15 +02:00
bruvzg
b56241f22f
ICU: Update to version 69.1, improve ICU data export process. 2021-04-22 16:56:53 +03:00
Rémi Verschelde
e271dba9cb
i18n: Sync translations with Weblate
(cherry picked from commit 305c364c13)
2021-04-21 09:52:26 +02:00
kleonc
f8f12d0564 ProjectSettingsEditor: Make "Type" OptionButton item ids match corresponding Variant::Type enum values. 2021-04-20 18:50:36 +02:00
Rémi Verschelde
68e6223a3b
Merge pull request #47990 from Calinou/editor-debugger-open-cpp-source-on-github
Add a menu action to open C++ source on GitHub in the editor debugger
2021-04-20 08:24:03 +02:00
Juan Linietsky
2b730cad90 Use multiple threads to import.
- For now everything imports multithreaded by default (should work I guess, let's test).
- Controllable per importer

Early test benchmark. 64 large textures (importing as lossless, _not_ as vram) on a mobile i7, 12 threads:
Importing goes down from 46 to 7 seconds.

For VRAM I will change the logic to use a compressing thread in a subsequent PR, as well as implementing Betsy.
2021-04-19 14:12:22 -03:00
Hugo Locurcio
5bc746e60a
Add a menu action to open C++ source on GitHub in the editor debugger
This helps user find back the source code where the error/warning
was emitted from.
2021-04-19 18:28:59 +02:00
Rémi Verschelde
8ba06e3161
Merge pull request #47448 from madmiraal/rename-lineedit-cursor
Rename LineEdit getters and setters to match property names
2021-04-19 10:40:29 +02:00
Rémi Verschelde
f41e7779fd
Merge pull request #47611 from Bhu1-V/PR/instance-scene-fix 2021-04-19 10:38:56 +02:00
Yuri Sizov
2524238bb3 Refactor Edit Theme menu in Theme Editor 2021-04-18 17:55:49 +03:00
Yuri Roubinsky
8ae5c6c6ec Fix sky visual shader mode after last rename 2021-04-17 20:59:48 +03:00
Bhuvan Vemula
9eb3546f38 instance-scene: make parent as edited_scene if no parent selected. 2021-04-17 19:16:18 +05:30
Marcel Admiraal
86822b187e Rename LineEdit caret_* properties getters and setters to match property 2021-04-17 12:41:23 +01:00
Hugo Locurcio
76722b5108
Add the About dialog to the project manager
The About button is located in the bottom-right corner of the
project manager.

This allows removing the copyright notice from the window title
(which looked a bit ugly in comparison to other applications).
2021-04-16 17:14:05 +02:00
Rémi Verschelde
2e87857d75
Merge pull request #47629 from Calinou/editor-allow-center-selection-without-selection
Allow Center Selection to work without any selection in 2D/3D editors
2021-04-16 12:47:47 +02:00
Rémi Verschelde
0e72d3d8f9
Merge pull request #47686 from aaronfranke/script-name-warning 2021-04-16 12:42:37 +02:00
Rémi Verschelde
7ce5599120
Merge pull request #47895 from Calinou/project-manager-name-strip-edges
Strip leading/trailing whitespace for project name in the project manager
2021-04-16 08:49:12 +02:00
Rémi Verschelde
c7a4e2196e
Merge pull request #47878 from clayjohn/rename-get_surface_material
Rename get_surface_material to get_surface_override_material
2021-04-15 07:57:15 +02:00
clayjohn
92731d292c Rename get_surface_material to get_surface_override_material 2021-04-14 20:24:03 -07:00
Hugo Locurcio
86455d0c58
Strip leading/trailing whitespace for project name in the project manager
This affects creating projects and renaming them.
2021-04-14 20:25:44 +02:00
reduz
d3b49c416a Refactor GLSL shader compilation
-Used a more consistent set of keywords for the shader
-Remove all harcoded entry points
-Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization.
-Entry point for sky shaders is now sky().
-Entry point for particle shaders is now process().
2021-04-14 11:37:52 -03:00
Rémi Verschelde
6b39980ea9
Merge pull request #47856 from ray90514/bug#47555
Fix multi-selection doesn't correctly show in the inspector
2021-04-14 13:43:35 +02:00
Rémi Verschelde
fe73fed4d7
Merge pull request #47625 from SushiJackal/47450_fix
Fix: Selection Only in Find/Replace now preserves selection
2021-04-14 08:24:38 +02:00
ray90514
16decbc0ee Fix multi-selection doesn't correctly show in the inspector 2021-04-13 18:09:53 +08:00
Hugo Locurcio
6d2f5ee244
Add a tooltip to document performance issues of the Remote scene tree 2021-04-12 17:49:51 +02:00
Yuri Roubinsky
8d3e46098b Prevents default values of VSNodeCustom from overriding by a script 2021-04-12 14:41:08 +03:00
Rémi Verschelde
cee5414698
Merge pull request #43180 from nathanfranke/node-configuration-array
Use Array for node configuration warnings
2021-04-12 09:40:55 +02:00
Rémi Verschelde
184abce192
Merge pull request #47709 from KoBeWi/node_that_changes_everything
Expose edit_node() for editor plugins
2021-04-12 09:11:33 +02:00
Nathan Franke
2a8c59c171
Use Array for node configuration warnings
Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
2021-04-11 23:25:38 -05:00
Rémi Verschelde
4a1f2dcb74
Merge pull request #47531 from fire/update-skeleton-display
Update Skeleton3D inspector Bone Transforms
2021-04-12 00:19:23 +02:00
kobewi
72014a7a2e Expose edit_node() for editor plugins 2021-04-12 00:13:08 +02:00
Rémi Verschelde
712bb8cbb6
Merge pull request #47175 from YeldhamDev/help_search_early_match
Select non-perfect matches if necessary in the Search Help dialog
2021-04-11 22:27:29 +02:00