summaryrefslogtreecommitdiffstats
path: root/editor/import
Commit message (Collapse)AuthorAgeFilesLines
* Use multiple threads to import.Juan Linietsky2021-04-191-0/+2
| | | | | | | | | | - 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.
* Rename get_surface_material to get_surface_override_materialclayjohn2021-04-141-1/+1
|
* Style: Apply clang-tidy's `modernize-use-bool-literals`Rémi Verschelde2021-04-052-2/+2
|
* added null checks for mesh in resource importerRishabh Abhani2021-03-261-0/+2
|
* Merge pull request #47301 from akien-mga/drop-resource-importer-csvRémi Verschelde2021-03-242-133/+0
|\ | | | | Remove now unnecessary ResourceImporterCSV importer
| * Remove now unnecessary ResourceImporterCSV importerRémi Verschelde2021-03-232-133/+0
| | | | | | | | | | | | | | | | Its only purpose was to prevent importing CSV files as translations, but it would still import them as *nothing*, leading to workflow issues. This is now properly fixed with #47268 which allows disabling the import for specific files.
* | Fix use of Error its uninitialised and resolves importers being brokenGordon MacPherson2021-03-231-1/+1
|/
* Rename ButtonList enum and members to MouseButtonAaron Franke2021-03-231-3/+3
|
* Move duplicated code into a functionShatur952021-03-232-37/+15
|
* Merge pull request #45234 from madmiraal/rename-phashtranslationRémi Verschelde2021-03-231-2/+2
|\ | | | | Rename PHashTranslation to OptimizedTranslation
| * Rename PHashTranslation to OptimizedTranslationMarcel Admiraal2021-03-201-2/+2
| |
* | Remove hardcoded names in generated objectsShatur952021-03-221-14/+0
| |
* | Improved 3D Scene ImporterJuan Linietsky2021-03-228-660/+2505
| | | | | | | | | | | | | | | | | | | | | | | | * Added option for importers to show an Advanced settings dialog * Created advanced settings dialog for Scene Importer * Cleaned up importers (remove many old/unused options) * Added the ability to customize every node, material, mesh and animation individually * Saving to animations and meshes to files is now a manual process, making it more predictable * Added the ability for materials to be replaced by external files (or to be made external, up to you). * When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it. WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
* | Merge pull request #46758 from W4RH4WK/add-more-index-checks-collada-importerRémi Verschelde2021-03-211-7/+14
|\ \ | |/ |/| Add additional index checks to COLLADA importer
| * Add additional index checks to COLLADA importerAlex Hirsch2021-03-071-7/+14
| | | | | | | | ref #46548
* | Remove Navigation2D/3D nodes, and move the navigation map to the world resourceGilles Roudière2021-03-101-1/+1
|/
* Reorganize Project Settingsreduz2021-02-182-14/+14
| | | | | | | -Advanced Settings toggle also hides advanced properties when disabled -Simplified Advanced Bar (errors were just plain redundant) -Reorganized rendering quality settings. -Reorganized miscelaneous settings for clean up.
* Fixes function bindingsKongfa Waroros2021-02-181-1/+1
|
* Improve resource load cachereduz2021-02-111-3/+3
| | | | | | -Added a new method in Resource: reset_state , used for reloading the same resource from disk -Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type) -Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
* Unify URI encoding/decoding and add to C#Aaron Franke2021-01-281-2/+2
| | | | http_escape and percent_encode have been unified into uri_encode, and http_unescape and percent_decode have been unified into uri_decode.
* Implement shadow meshesreduz2021-01-254-4/+117
| | | | | | -When importing, a vertex-only version of the mesh is created. -This version is used when rendering shadows, and improves performance by reducing bandwidth -It's automatic, but can optionally be used by users, in case they want to make special versions of geometry for shadow casting.
* Scale error in mesh optimizer so it uses absolute scale.K. S. Ernest (iFire) Lee2021-01-111-4/+42
| | | | | Switch to simplify sloppy for another try. Update to meshoptimizer e3f53f66e7a35b9b8764bee478589d79e34fa698.
* Merge pull request #44330 from Hurakano/fixesRémi Verschelde2021-01-041-1/+1
|\ | | | | Texture import 'streamed' property should be bool
| * Texture import 'streamed' property should be boolフラカノ2020-12-121-1/+1
| |
* | Typo correctionMuller-Castro2021-01-021-1/+1
| | | | | | | | simple typo correction
* | Update copyright statements to 2021Rémi Verschelde2021-01-0132-94/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 🎆
* | Merge pull request #44183 from madmiraal/box_shape-sizeRémi Verschelde2020-12-281-1/+1
|\ \ | | | | | | Use a size Vector for adjusting the size of Rectangles and Boxes
| * | Use box size instead of extents for Shape dimensionsMarcel Admiraal2020-12-081-1/+1
| | |
* | | Rename empty() to is_empty()Marcel Admiraal2020-12-286-8/+8
| | |
* | | Fix blendshapes and calculation of bone_aabbsLyuma2020-12-241-0/+6
| | | | | | | | | | | | | | | | | | Blendshapes without a skeleton already worked. However, due to a faulty ERR_FAIL_COND, it was impossible to create a mesh with both bones and blendshapes. This also fixes an assumption that all surfaces reference the same number of bones as surface 0.
* | | Add exporting glTF2.K. S. Ernest (iFire) Lee2020-12-2210-4085/+592
| | | | | | | | | | | | | | | | | | | | | | | | * Support KHR_texture_transform. * Support exporting glTF2 * Support exporting instanced scenes * Extract into a gltf state and gltf document * Add a tools menu for exporting gltf2
* | | Increase the default Camera Zfar to 4000Hugo Locurcio2020-12-192-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it possible to view far away objects without having to tweak any settings. This results in a more usable editor when working on large-scale levels. This change should have no impact on performance, but note that Z-fighting will be visible at a distance. This can be made less visible by increasing the Znear value (however, doing so will cause nearby surfaces to disappear). This change was also applied to the editor, but it will only apply to newly created scenes. This also changes the default camera settings in the glTF importer to match the Camera node's defaults.
* | | Improved shadow rendering efficiencyreduz2020-12-181-13/+1
| | | | | | | | | | | | | | | -Do not bind attributes that are not needed -Improve a bit more how meshoptimizer interacts with Godot
* | | Implement automatic LOD (Level of Detail)reduz2020-12-182-9/+66
| | | | | | | | | | | | | | | | | | | | | -Happens on import by default for all models -Just works (tm) -Biasing can be later adjusted per node or per viewport (as well as globally) -Disabled AABB.get_support test because its broken
* | | Rework Mesh handling on scene importing.reduz2020-12-136-43/+482
| |/ |/| | | | | | | | | -Reworked how meshes are treated by importer by using EditorSceneImporterMesh and EditorSceneImporterMeshNode. Instead of Mesh and MeshInstance, this allows more efficient processing of meshes before they are actually registered in the RenderingServer. -Integrated MeshOptimizer -Reworked internals of SurfaceTool to use arrays, making it more performant and easy to run optimizatons on.
* | Image: Rename PVRTC{2,4} to PVRTC1_{2,4}, drop COMPRESS_PVRTC2Rémi Verschelde2020-12-101-1/+1
| | | | | | | | | | | | | | | | We haven't had a proper implementation for COMPRESS_PVRTC2 (which is PVRTC1 2-bpp) in years, so let's drop it instead of keeping a compress type which doesn't work. The other enum values were renamed to clarify that our PVRTC2 and PVRTC4 are respectively PVRTC1 2-bpp and PVRTC1 4-bpp. PVRTC2 2-bpp and 4-bpp are not implemented yet.
* | Merge pull request #43742 from qarmin/editor_modules_default_valuesRémi Verschelde2020-12-085-61/+30
|\ \ | |/ |/| Initialize class/struct variables with default values in platform/ and editor/
| * Initialize class/struct variables with default values in platform/ and editor/Rafał Mikrut2020-12-025-61/+30
| |
* | Rebind Mesh/ArrayMesh enumsAaron Franke2020-12-042-3/+3
| |
* | Refactored Mesh internals and formats.reduz2020-12-026-13/+22
|/ | | | | | | | | | | | | | | -Changed how mesh data is organized, hoping to make it more efficient on Vulkan and GLES. -Removed compression, it now always uses the most efficient format. -Added support for custom arrays (up to 8 custom formats) -Added support for 8 weights in skeleton data. -Added a simple optional versioning system for imported assets, to reimport if binary is newer -Fixes #43979 (I needed to test) WARNING: -NOT backwards compatible with previous 4.x-devel, will most likely never be, but it will force reimport scenes due to version change. -NOT backwards compatible with 3.x scenes, this will be eventually re-added. -Skeletons not working any longer, will fix in next PR.
* Use Vector2i instead of Vector2 for Image get_pixelv and set_pixelvAaron Franke2020-11-211-4/+4
| | | | Co-authored-by: Andrii Doroshenko <xrayez@gmail.com>
* glTF: Workaround import failure with invalid embedded imagesRémi Verschelde2020-11-181-4/+8
| | | | | | | image/gif is not supported in the glTF 2.0 specification, these files are broken. But let's be lenient... Fixes #43638.
* Remove empty lines around braces with the formatting scriptAaron Franke2020-11-161-1/+0
|
* Merge pull request #42977 from Calinou/roughness-normal-import-more-image-typesRémi Verschelde2020-11-161-1/+1
|\ | | | | Allow more image types in the roughness texture's Src Normal import hint
| * Allow more image types in the roughness texture's Src Normal import hintHugo Locurcio2020-10-211-1/+1
| |
* | Reorganized core/ directory, it was too fatty alreadyreduz2020-11-079-11/+11
|/ | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Implement GPU Particle Collisionsreduz2020-10-091-1/+1
| | | | | | | | | | -Sphere Attractor -Box Attractor -Vector Field -Sphere Collider -Box Collider -Baked SDF Collider -Heightmap Collider
* Better non alphanumeric bone names.K. S. Ernest (iFire) Lee2020-10-051-4/+9
| | | | | | | | | 1. _gen_unique_bone_name(Ref<GLTFState> state, const GLTFSkeletonIndex skel_i, const String &p_name) won't return an empty string. 2. String GLTFDocument::_sanitize_bone_name(const String &name) will keep Japanese characters. Like: "全ての親". 3. The sanitize function allows the bone name to be not just alphanumeric. The only required conditions are the ones in add_bone. > ERR_FAIL_COND(p_name == "" || p_name.find(":") != -1 || p_name.find("/") != -1);
* glTF: Fix parsing image data with `mimeType` undefinedRémi Verschelde2020-10-051-51/+85
| | | | | | | | | | | | | | | | | | | | | | | The glTF 2.0 spec only makes `mimeType` mandatory for `bufferView` image data, so the previous logic to handle URIs with base64-encoded images could fail if `mimeType` is undefined. The logic was documented and refactored to better handle the spec, notably: - `uri` and `bufferView` are now mutually exclusive, and only the latter fails if `mimeType` is undefined. - `uri` with a file path will now respect the `mimeType` if defined, and thus attempt loading the file with the specified format (even if its extension is not the one expected for this format). So we can support bad extensions (PNG data with `.jpg` extension) or custom ones (PNG data in `.img` file for example). - `uri` with base64 encoded data will infer MIME type from `data:image/png` or `data:image/jpeg` if it was not documented in `mimeType` initially. - `uri` with base64 encoded data, no `mimeType` and `application/octet-stream` or `application/gltf-buffer` will fall back to trying both PNG and JPEG loaders. Fully fixes #33796 (and fixes up #42501).
* glTF: Fix parsing buffer data with application/gltf-buffer and image/* MIME ↵Rémi Verschelde2020-10-021-5/+13
| | | | | | | | | | | | types See https://github.com/KhronosGroup/glTF/issues/944 for context on the application/gltf-buffer MIME type. The glTF 2.0 spec supports `image/jpeg` and `image/png` which can also be base64-encoded in buffer URIs. Fixes #33796.