summaryrefslogtreecommitdiff
path: root/editor/import
AgeCommit message (Collapse)Author
2021-01-28Unify URI encoding/decoding and add to C#Aaron Franke
http_escape and percent_encode have been unified into uri_encode, and http_unescape and percent_decode have been unified into uri_decode.
2021-01-25Implement shadow meshesreduz
-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.
2021-01-11Scale error in mesh optimizer so it uses absolute scale.K. S. Ernest (iFire) Lee
Switch to simplify sloppy for another try. Update to meshoptimizer e3f53f66e7a35b9b8764bee478589d79e34fa698.
2021-01-04Merge pull request #44330 from Hurakano/fixesRémi Verschelde
Texture import 'streamed' property should be bool
2021-01-02Typo correctionMuller-Castro
simple typo correction
2021-01-01Update copyright statements to 2021Rémi Verschelde
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 🎆
2020-12-28Merge pull request #44183 from madmiraal/box_shape-sizeRémi Verschelde
Use a size Vector for adjusting the size of Rectangles and Boxes
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-24Fix blendshapes and calculation of bone_aabbsLyuma
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.
2020-12-22Add exporting glTF2.K. S. Ernest (iFire) Lee
* 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
2020-12-19Increase the default Camera Zfar to 4000Hugo Locurcio
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.
2020-12-18Improved shadow rendering efficiencyreduz
-Do not bind attributes that are not needed -Improve a bit more how meshoptimizer interacts with Godot
2020-12-18Implement automatic LOD (Level of Detail)reduz
-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
2020-12-13Rework Mesh handling on scene importing.reduz
-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.
2020-12-12Texture import 'streamed' property should be boolフラカノ
2020-12-10Image: Rename PVRTC{2,4} to PVRTC1_{2,4}, drop COMPRESS_PVRTC2Rémi Verschelde
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.
2020-12-08Merge pull request #43742 from qarmin/editor_modules_default_valuesRémi Verschelde
Initialize class/struct variables with default values in platform/ and editor/
2020-12-08Use box size instead of extents for Shape dimensionsMarcel Admiraal
2020-12-04Rebind Mesh/ArrayMesh enumsAaron Franke
2020-12-02Refactored Mesh internals and formats.reduz
-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.
2020-12-02Initialize class/struct variables with default values in platform/ and editor/Rafał Mikrut
2020-11-21Use Vector2i instead of Vector2 for Image get_pixelv and set_pixelvAaron Franke
Co-authored-by: Andrii Doroshenko <xrayez@gmail.com>
2020-11-18glTF: Workaround import failure with invalid embedded imagesRémi Verschelde
image/gif is not supported in the glTF 2.0 specification, these files are broken. But let's be lenient... Fixes #43638.
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-11-16Merge pull request #42977 from Calinou/roughness-normal-import-more-image-typesRémi Verschelde
Allow more image types in the roughness texture's Src Normal import hint
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-10-21Allow more image types in the roughness texture's Src Normal import hintHugo Locurcio
2020-10-09Implement GPU Particle Collisionsreduz
-Sphere Attractor -Box Attractor -Vector Field -Sphere Collider -Box Collider -Baked SDF Collider -Heightmap Collider
2020-10-05Better non alphanumeric bone names.K. S. Ernest (iFire) Lee
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);
2020-10-05glTF: Fix parsing image data with `mimeType` undefinedRémi Verschelde
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).
2020-10-02glTF: Fix parsing buffer data with application/gltf-buffer and image/* MIME ↵Rémi Verschelde
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.
2020-09-28Use the vertex colors by default in gltf.K. S. Ernest (iFire) Lee
2020-09-09Implement 3D textures as import and resource format.reduz
2020-07-27Make all String float conversion methods be 64-bitAaron Franke
2020-07-21Merge pull request #40450 from asmaloney/spellingRémi Verschelde
Fix spelling & grammar in comments, docs, and messages
2020-07-21Fix spelling & grammar in comments, docs, and messagesAndy Maloney
2020-07-11Allow gltf2 morph targets with no default values. Changes for bug 38751K. S. Ernest (iFire) Lee
2020-07-10Add override keywords.Marcel Admiraal
2020-07-02Fix issues with custom tracks on reimportlordkettune
2020-06-18Fix #20467. The "Anim imported" warning gets displayed properly when working ↵Sl3dge78
on imported anims.
2020-06-14Remove the obsolete "2D Pixel" import presetHugo Locurcio
Texture filtering is now defined on a per-node basis, thanks to bindless textures provided by Vulkan. This closes #37057.
2020-06-11Add GLTF light importAaron Franke
Co-authored-by: K.S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2020-06-08Merge pull request #39152 from abustin/fbx_mesh_compression_fix_masterRémi Verschelde
Respect 'mesh compression' editor import option in Assimp and glTF importers [master]
2020-06-04Merge pull request #38924 from Calinou/tweak-import-compression-hintRémi Verschelde
Tweak the import compression property hint for clarity
2020-06-03Fix excessive bottom cropping in atlas generationPedro J. Estébanez
2020-05-29Respect 'mesh compression' editor import option in Assimp (ie. FBX) and glTF ↵Alex Bustin
importers
2020-05-27Split `Geometry` singleton into `Geometry2D` and `Geometry3D`Andrii Doroshenko (Xrayez)
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-21Tweak the import compression property hint for clarityHugo Locurcio
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.