Commit Graph

93 Commits (cb1569345a6f17da08241e645ab03cb2e1b78d2f)

Author SHA1 Message Date
Thaddeus Crews 8ff0683def
Merge pull request #110949 from aaronfranke/const-ref-param-gltf
Use const ref parameters in the GLTF module
2025-11-14 14:23:08 +07:00
Aaron Franke 9d0b391d6c
GLTF: Move accessor decoding functions to GLTFAccessor 2025-11-14 07:05:04 +07:00
Aaron Franke dcb6431c01
Use const ref parameters in the GLTF module 2025-11-13 18:19:26 +07:00
Aaron Franke 62acc21bf5
GLTF: Move accessor encoding functions to GLTFAccessor 2025-10-21 08:42:29 +07:00
Aaron Franke 02182b1087
GLTF: Move accessor and buffer view Dictionary conversion into classes 2025-10-13 11:51:25 +07:00
Aaron Franke ad10c6185d
GLTF: Fix nasty bug with incorrect buffer indices 2025-07-05 00:00:13 +07:00
Thaddeus Crews 3cc71ef8b9
Merge pull request #104184 from aaronfranke/gltf-non-joint-leaf
GLTF: Don't collapse non-joint leaf nodes when importing skeletons
2025-06-09 12:31:42 +07:00
Aaron Franke dc85b32a50
GLTF: Don't collapse non-joint leaf nodes when importing skeletons 2025-06-08 14:47:37 +07:00
Aaron Franke 61ff5f1bdd
GLTF: Support 64-bit sizes in glTF import and export 2025-06-05 12:40:21 +07:00
Thaddeus Crews 500e0d5dc4
Merge pull request #93722 from aaronfranke/gltf-khr-node-visibility
Implement `KHR_node_visibility` in the GLTF module
2025-04-24 17:18:51 +07:00
Aaron Franke 8459f4cdaf
Implement KHR_node_visibility in the GLTF module 2025-04-13 13:42:46 +07:00
Aaron Franke 03b793464f
GLTF export: Allow using a PNG or JPEG fallback image 2025-04-06 03:34:43 +07:00
Thaddeus Crews 6c4f17db1a
Core: Avoid including `modules_enabled` in headers 2025-03-11 19:42:13 +07:00
Thaddeus Crews 324512e11c
Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 +07:00
Aarni Koskela f134769506 Fix various typos
* Add TODO notes for typos that should be fixed for 5.0

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +07:00
demolke e649e7e3c5 GLTF: Don't duplicate textures when importing blend files
Blender imports will always start within `.godot/imported`  folder because we first convert the .blend file to .gltf, store it in `.godot/imported` and run the import from there, so on-disk resources linked from .blend files end up with duplicate textures.
2024-12-18 21:24:18 +07:00
Aaron Franke 0513943f70
GLTF: Implement KHR_animation_pointer for animating custom properties 2024-11-04 17:55:40 +07:00
Aaron Franke d373d207c1
GLTF: Add functions to encode and decode Variants to/from accessors 2024-11-04 17:55:40 +07:00
Aaron Franke 4b66a25f52
GLTF: Implement the glTF Object Model to support JSON pointer properties 2024-11-04 17:55:39 +07:00
Aaron Franke 834189a618
GLTF: Clean up animation code to make way for KHR_animation_pointer 2024-11-04 17:55:38 +07:00
Aaron Franke 4b0085ac85
GLTF: Move the component type enum into GLTFAccessor 2024-11-04 17:55:37 +07:00
Aaron Franke f82262eecb
GLTF: Add append_gltf_node to GLTFState 2024-09-02 19:05:03 +07:00
Aaron Franke ee5e97742a
Add get_supported_gltf_extensions to GLTFDocument 2024-08-28 17:54:45 +07:00
Aaron Franke 923a8eb5d3
Move GLTFAccessorType into GLTFAccessor 2024-07-04 15:46:48 +07:00
Aaron Franke d3a58e57b8
Rename accessor GLTFType to GLTFAccessorType, fix verbose prints, doc 2024-05-24 03:21:13 +07:00
K. S. Ernest (iFire) Lee 24f56008ac Add bake_fps for FBXDocument, GLTFDocument and both import-export. 2024-05-23 09:09:36 +07:00
Lyuma 8232759100 Fix method bindings in FBXDocument by making them virtual in GLTFDocument. 2024-03-15 12:47:02 +07:00
Rémi Verschelde 21b33c5ea4
Merge pull request #89418 from lyuma/gltf_vertex_packing
Only store vertices referenced by the indices per surface in the glTF importer
2024-03-14 22:34:52 +07:00
Rémi Verschelde 37b08a3724
Merge pull request #89356 from lyuma/vsk-gltf-sparse-accessors-4.3
GLTF export: Use sparse accessors for morph targets
2024-03-14 22:34:47 +07:00
Rémi Verschelde 453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +07:00
Lyuma 77f6e35a8d glTF importer now only stores vertices referenced by the indices per surface. 2024-03-13 18:34:55 +07:00
Lyuma db2c9571bb glTF export: morph targets are relative, so use zero as reference 2024-03-12 02:39:15 +07:00
K. S. Ernest (iFire) Lee 1e63a2a132 Update buffer view target handling, encode sparse accessors as vec3.
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2024-03-12 02:39:00 +07:00
Lyuma fd2aa564ab gltf export: Remove snapping and fix validation
Round min/max correctly in accessors
Include correct target in vertex and indices bufferViews
Avoid use of Math::snapped
Normalize vertex weights.
2024-03-10 06:07:46 +07:00
Thaddeus Crews 9903e6779b
Enforce template syntax `typename` over `class` 2024-03-07 22:39:09 +07:00
K. S. Ernest (iFire) Lee 04d43947bf
Add ufbx for FBX importing
This update introduces a new import method for FBX files using ufbx. If the fbx2gltf import fails, it will use the most recently cached scene from the ufbx import. The process is sped up by introducing threads to load the ufbx portion.

Key changes include:

- Support for importing geometry helper nodes in FBX files.
- Addition of cameras and lights with updated names.
- Removal of the fbx importer manager.
- Introduction of ModelDocument3D and updates to its methods.
- Changes to FBX import options and visibility.
- Updating the documentation and handling some errors.
- Store the original non-unique node, mesh and animation names in FBX and glTF.

Co-Authored-By: bqqbarbhg <bqqbarbhg@gmail.com>
2024-02-23 22:33:04 +07:00
Aaron Franke 4c8d69f264
Fix crash when importing a GLTF file with a skeleton as the root 2024-02-04 02:48:16 +07:00
Aaron Franke 8acef03cb5
Add export settings to the export dialog for GLTF 2023-12-30 19:57:39 +07:00
Aaron Franke 58076b9ccb
Implement glTF compat version system for files from older Godot versions 2023-11-03 12:07:25 +07:00
Aaron Franke 446893fdd1
GLTF: Add GODOT_single_root extension 2023-09-26 10:18:52 +07:00
Rémi Verschelde be53991b5a
Merge pull request #80272 from aaronfranke/gltf-root-node-logic
GLTF: Improve logic for keeping track of the real root node
2023-09-16 21:21:40 +07:00
Aaron Franke 2723f781dd
GLTF: Allow specifying export image format including from extensions 2023-09-14 17:33:48 +07:00
Aaron Franke 5b7001dccf
GLTF: Improve logic for keeping track of the real root node 2023-09-03 03:35:29 +07:00
Aaron Franke 2970839085
Set base_path and filename during export 2023-08-03 16:49:22 +07:00
Aaron Franke 2d13a9651c
GLTF: Preserve the original bytes when importing a texture 2023-08-03 10:30:33 +07:00
Aaron Franke bc68fa368d
More cosmetic improvements in the GLTF code 2023-08-03 02:05:41 +07:00
Rémi Verschelde 3988bf614b
Merge pull request #79775 from aaronfranke/gltf-node-gen-cosmetic
Cosmetic changes in GLTF node generation code
2023-08-02 12:19:58 +07:00
Aaron Franke 955104385c
Cosmetic changes in GLTF node generation code 2023-07-30 13:51:25 +07:00
Aaron Franke 07400f2065
Add copyright to GLTFState 2023-07-10 00:24:10 +07:00
Aaron Franke 7da93a0bc0
Add support for extending GLTF with more texture formats & support WebP 2023-05-22 16:30:20 +07:00