Commit graph

39 commits

Author SHA1 Message Date
Aaron Franke
62e10daf70
[3.x] Backport the GLTFDocumentExtension system 2022-12-21 00:40:00 -06:00
Aaron Franke
a887f48d1d
[3.x] Backport moving camera and light logic to GLTF subclasses 2022-12-11 14:05:08 -06:00
Aaron Franke
d8b1c9ff3c
[3.x] Consistently use p_ for parameters in GLTFDocument 2022-12-10 17:02:13 -06:00
Aaron Franke
d8aa3b32c9
[3.x] GLTF: Organize structures and extensions into subfolders 2022-12-01 08:25:21 -06:00
Aaron Franke
f1febed469
[3.x] GLTF: Move shared defines into a separate gltf_defines.h file 2022-11-29 00:04:57 -06:00
Aaron Franke
8979208713
[3.x] GLTF: Only list used extensions when they're actually used 2022-11-28 17:54:30 -06:00
LunaticInAHat
08c801738e GLTF import external images correctly 2022-10-04 12:01:24 -04:00
The Tophat Demon
bb34c55b3c GLTF imports & exports material texture filters 2022-10-03 21:19:48 -04:00
PZerua
7a35bf683a Fix light intensity and attenuation import from GLTF
(cherry picked from commit aa7ab96e71)
2022-07-06 11:44:30 +02:00
César Izurieta
f66200ed3c Fix gltf texture filename decoding 2022-07-03 03:03:24 +02:00
Lyuma
7d970b967e gltf: Allow more than 4 joints but warn and ignore them. 2022-06-10 18:41:14 -07:00
Haoyu Qiu
2e75471a48 Fix GLTF exporter crash when using GridMap 2022-02-20 22:02:23 +08:00
Rémi Verschelde
f50c7f7415
Core: Move generated VERSION_HASH to a .cpp file
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.

(cherry picked from commit 90162851a7)
2022-02-10 13:06:56 +01:00
Rémi Verschelde
a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
K. S. Ernest (iFire) Lee
44d436add6
Skip Draco-compressed glTF 3d format files.
(cherry picked from commit b468104842)
2022-01-12 17:28:07 +01:00
RedMser
f76430670c
Fix glTF scene export crash on null normal texture
Also removes a redundant get_texture call directly below
the modified code block.

Fixes #56379

(cherry picked from commit 0e36d5e782)
2022-01-06 00:21:37 +01:00
Rémi Verschelde
db020eae29
Merge pull request #55859 from akien-mga/3.x-gltf-module-cleanup 2021-12-13 13:46:03 +01:00
Rémi Verschelde
e4c40d8e6a
glTF: Cleanup includes and defines, split PackedSceneGLTF to own file 2021-12-12 12:08:18 +01:00
Aaron Franke
7bf7bd70ac
[3.x] Misc build system fixes 2021-12-10 12:15:16 -06:00
jitspoe
734b4a46bc Fix crash when exporting gltf mesh that has no skin.
(cherry picked from commit 209ac9569c4c5180aea4b330ed7f6d2a572d5e82)
2021-11-22 22:46:53 -05:00
Rémi Verschelde
6f4858f184
Modules: Make sure to include modules_enabled.gen.h where needed
Fixes #51677.

Co-authored-by: Arkadiusz Marcin Kołek <aksoftware91@gmail.com>
2021-11-12 13:45:33 +01:00
Mark Riedesel
999bba6916 Fix glTF cubic spline track interpolation incorrectly reporting times/values size mismatch (3.4 specific) 2021-11-09 09:47:37 -05:00
Rémi Verschelde
e4996887ca
Merge pull request #48625 from The-O-King/compression_options 2021-11-02 08:58:22 +01:00
Lyuma
e575b27b15 3.x backport glTF: Fix override materials and non-empty arrays
Keep track of MeshInstance and GeometryInstance override materials in the GLTFMesh object.
Ensure all arrays are non-empty to conform with "minItems":1 in glTF spec.
2021-11-01 23:40:12 -07:00
Omar El Sheikh
203295f17d Added Mesh Compression Import Options
Fleshed out the "Optimize Mesh" options found in the mesh import UI
Gave a checkbox to every vertex attribute that can be compressed

Surfaced option to enable/disable Octahedral compression for
normal/tangent vectors

Also surfaces the vertex position compression option which previously
inaccessible because the defaults did not compress vertex positions

Supports all current importers (obj, fbx, collada, gltf)
2021-11-01 12:54:28 -04:00
Rémi Verschelde
42d385b312
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00
Lyuma
e49f8c5823 3.x: Fix validation errors due to chunk padding and empty skins.
GLB chunk padding length calculation was backwards and missing for the BIN chunk.
Fixed error caused by "skins":[] when no skins were present.
Finally, encode animations before textures to avoid accessor misalignment due to texture byteLength.
2021-10-25 21:17:13 -07:00
Lyuma
3cdaaffb54 Backport to 3.x "gltf export: Fix export of skeletons, skins and blend shapes."
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-10-05 14:14:28 -07:00
Rémi Verschelde
e31a10da98
Merge pull request #52274 from aaronfranke/3.x-gltf-noregex 2021-10-05 12:40:12 +02:00
Rémi Verschelde
dbe0e4613a
Merge pull request #53140 from V-Sekai/gltf_naming_fix 2021-09-28 08:40:54 +02:00
SaracenOne
c6387e58e9 Fixes naming conflict in GLTF importer 2021-09-27 18:07:50 +01:00
Aaron Franke
85eb6b6352
[3.x] Make the GLTF module not depend on the RegEx module 2021-09-15 09:19:06 -05:00
Lyuma
79b016adad Assign the min values in gltf accessors 2021-08-19 09:30:05 +01:00
K. S. Ernest (iFire) Lee
beb3a6859d
Continue when glTF2 lights fail to parse.
(cherry picked from commit 0c79a8fa22)
2021-08-12 16:42:16 +02:00
K. S. Ernest (iFire) Lee
8f592d50c3
glTF2 fallback load PNG and JPG
(cherry picked from commit ddff1c10c3)
2021-08-03 09:15:34 +02:00
K. S. Ernest (iFire) Lee
6ba37005d1
In glTF2 animations, log spam less when running.
(cherry picked from commit 882f7d9bdf)
2021-08-03 09:15:34 +02:00
K. S. Ernest (iFire) Lee
42ad091738
Make curve interpolate crash less.
(cherry picked from commit d67c5afa95)
2021-08-03 09:15:33 +02:00
Lyuma
d699600ec7 gltf: Fix mesh nodes which are also bones.
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-05-31 13:18:10 -07:00
K. S. Ernest (iFire) Lee
6ec9468e75 Backport gltf2 module from master. 2021-05-31 13:18:06 -07:00