Commit graph

59 commits

Author SHA1 Message Date
Haoyu Qiu
ed952f82bd Add is_zero_approx methods to Vector{2,3} 2024-04-10 19:02:42 +08:00
Ansraer
1e7c60174e fix crash on mat creation after orm refactor 2024-02-16 20:51:27 +01:00
Ansraer
b9cbffd957 add ORMSpatialMaterial 2024-02-08 20:34:11 +01:00
Aaron Franke
571e4189fd
[3.x] Implement physics support in the GLTF module 2023-04-25 15:18:02 -05:00
Haoyu Qiu
6d7bc801f6 Set the unlit / unshaded extension when importing / exporting GLTF
Co-authored-by: Hakim <hakim.rouatbi@gmail.com>
2023-03-15 17:26:06 +08:00
Rémi Verschelde
1426cd3b3a
One Copyright Update to rule them all
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".

Backported from #70885.
2023-01-10 15:26:54 +01:00
Aaron Franke
ca898a7b77
[3.x] GLTF: Fix wrong error macro used in a few spots 2022-12-27 18:55:10 -06:00
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
Hakim
df1a0b25ea Prevent AnimationPlayer from being added on GLTF import if the option is unchecked. Fixes #63954
(cherry picked from commit 805ffdfbf6)
2022-12-04 19:47:36 +08: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
Rémi Verschelde
9c6810e04f Merge pull request #66889 from LunaticInAHat/gltf_texture_filter_fix_3
GLTF import external images correctly
2022-10-05 17:08:06 +02:00
LunaticInAHat
08c801738e GLTF import external images correctly 2022-10-04 12:01:24 -04:00
Rémi Verschelde
9bf589d55a Merge pull request #66856 from LunaticInAHat/gltf_texture_filter_fix_3
GLTF imports & exports material texture filters
2022-10-04 16:57:55 +02:00
The Tophat Demon
bb34c55b3c GLTF imports & exports material texture filters 2022-10-03 21:19:48 -04:00
Aaron Franke
3ec8296ffc Make "Godot source files" comment consistent in modules
(cherry picked from commit ce0080768c)
2022-08-08 09:47:24 +02:00
Rémi Verschelde
0a8d5d7098 Bump version to 3.6-beta 2022-08-05 18:51:38 +02:00
Rémi Verschelde
818f1eed31 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 14:53:37 +02: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
Hugo Locurcio
3a8104289d
Document that glTF classes are only usable in editor builds
Run-time glTF saving/loading is only available in Godot 4.0,
not Godot 3.x.
2022-04-22 19:08:37 +02:00
Hugo Locurcio
b087538119
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01: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
Yuri Sizov
1cf6d21f69 Make overridden properties link to parent definition
Co-authored-by: Josh DeGraw <joshmdegraw@gmail.com>
2021-12-03 17:48:49 +03: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
Marcel Admiraal
4d3690eba5 Remove unimplemented methods 2021-11-18 12:47:36 +00: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
14c366ddd7
Bump version to 3.5-beta 2021-11-05 16:10:17 +01: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
674cb947ea
[3.x] Fix GLTF light import 2021-09-26 21:57:03 -05:00