summaryrefslogtreecommitdiff
path: root/modules/gltf/gltf_document.h
AgeCommit message (Collapse)Author
2023-02-07Fixes for gltf export.K. S. Ernest (iFire) Lee
* Fix null crashes. * Bake tracks * Add some error messages.
2023-01-30Add remove immutable tracks option to glTF importerSilc Renew
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2023-01-27Merge pull request #62499 from fire/gltf-binary-img-compressionRémi Verschelde
Handle gltf binary images
2023-01-27Handle gltf binaryK. S. Ernest (iFire) Lee
[ Ignore and Warn | Extract Textures (default) | Optimize Loading Embedded as Basisu ] Enable compressed mip maps from Basis Universal for faster compressions. Increase the quality of Basis to avoid corruption. To keep compatibility use the first mip of the previous internal Godot format. Because texture names may have invalid filename characters, adds String::validate_filename to sanitize filenames for import pipeline use.
2023-01-26Avoid nested skeletons, and handle skinned meshes with children.Lyuma
Recursively adds child nodes into each skeleton. This should prevent nested skeletons and avoid bone attachments for leaf bones. In cases where a skinned mesh has children, creates two scene nodes with the same name, which both will represent this single gltf node. Because blend shape animations must target the mesh, adds a separate mapping for ImporterMeshInstance3D node references. This change will break existing imported scenes with bone attachments and more than one skeleton. Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2023-01-05One Copyright Update to rule them allRémi Verschelde
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".
2022-12-10Consistently use `p_` for parameters in GLTFDocumentAaron Franke
2022-11-29GLTF: Clean up lots of includesAaron Franke
2022-11-29Merge pull request #68665 from TokageItLab/cut-unkeyed-gltf-animRémi Verschelde
Add "Trimming" option to cut un-keyed timeline before first key in glTF animation
2022-11-29Add trimming option to cut un-keyed timeline before first key in gltfSilc Renew
2022-11-22Add unregister for GLTFDocumentExtensionRedMser
2022-11-09Change the way GLTFDocumentExtension classes are registeredAaron Franke
Also move GLTFDocumentExtension into the extensions folder
2022-10-03GLTF imports & exports material texture filtersThe Tophat Demon
2022-09-19Make used extensions stored in GLTFStateAaron Franke
This allows GLTFDocumentExtension classes to add to the used extensions array.
2022-09-18Minor enhancements to the GLTF module (lights and docs)Aaron Franke
2022-07-24GLTF: Organize structures into a subfolderAaron Franke
2022-07-24GLTF: Move shared defines into a separate gltf_defines.h fileAaron Franke
Also move GLTFDocument's template conversion functions into gltf_template_convert.h
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
2022-05-20Improve gltf extension GLTFDocument api.K. S. Ernest (iFire) Lee
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-04-11Make FileAccess and DirAccess classes reference counted.bruvzg
2022-03-29Add support for importing .blend filesK. S. Ernest (iFire) Lee
Lets you drag or place .blend files in the project folder and it will import the files. Checks for Blender 3.0's gltf2 `export_keep_originals` option. Add basepath support to GLTFDocument append_from_file. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-01-08Skip Draco-compressed glTF 3d format files.K. S. Ernest (iFire) Lee
2022-01-04Merge pull request #52541 from V-Sekai/gltf-load-scene-bufferK. S. Ernest (iFire) Lee
Add gltf import buffer.
2022-01-04Add import glb from bufferK. S. Ernest (iFire) Lee
Split functions from gltf document import and export into six functions. Use base path to allow two code paths based on an empty base path or a full base path. Add uri decode in _parse_buffers.
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-09Add a double-precision editor build to CIAaron Franke
2021-11-12Modules: Make sure to include modules_enabled.gen.h where neededRémi Verschelde
2021-10-21Remove unimplemented methodsMarcel Admiraal
2021-10-13Restore gltf animation export after split.K. S. Ernest (iFire) Lee
2021-10-03GLTF for game templates.K. S. Ernest (iFire) Lee
Convert GLTF Document to use ImporterMeshInstance3D. Add a GLTFDocument extension list and an extension for converting the importer mesh instance 3d to mesh instance 3d. Use GLTF module when the editor tools are disabled. Modified the render server to be less restrictive on matching blend arrays and have more logging. Misc bugs with multimesh. Always index the meshes.
2021-09-29gltf export: Fix export of skeletons, skins and blend shapes.Lyuma
Create GLTFSkeleton at the same time we create GLTFNode objects. Create GLTFSkin at the same time we export MeshInstance3D Fixes export of blend shape arrays for meshes with multiple surfaces. Fixes array indexing issues in export of glTF morph target animations. Converts BoneAttachment3D nodes during normal node creation: this avoids special cases during mesh export, and especially exporting skeletons or meshes which are children of BoneAttachment3D. Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2021-09-10Remove packed scene gltfK. S. Ernest (iFire) Lee
We determined through discussion that composing the packed scene from a node tree was a better design because it removed duplication of code.
2021-08-22Replace HTTP links with HTTPS for sites with HTTPS versionsAaron Franke
2021-07-15Misc cleanup of header includesRémi Verschelde
Was looking for misuse of module headers without checking that the module is actually enabled and got carried away...
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-05-27gltf: Fix mesh nodes which are also bones.Lyuma
Fix issue when two skeletons end up directly parented. Prevent animating TRS for skinned Mesh node. Fix animating weights on meshes with targets but no weights.
2021-02-24Relaxes Node naming constraints in glTF documents to match the Editor.abaire
2021-01-22Make GLTF not depend on CSG or GridMapAaron Franke
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-29Expose gltf2 eight weights.K. S. Ernest (iFire) Lee
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