summaryrefslogtreecommitdiff
path: root/modules/gltf
AgeCommit message (Collapse)Author
2022-02-12Merge pull request #57641 from Geometror/compilation-time-improvements-1Rémi Verschelde
2022-02-12Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker
2022-02-11CSG Meshes can be exported as glTFFazil Babu
2022-02-10Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git. Added `misc/scripts/codespell.sh` to make it easier to run it once in a while and update the skip and ignore lists.
2022-02-09Core: Move generated `VERSION_HASH` to a `.cpp` fileRémi Verschelde
This lets us have its definition in `core/version.h` and avoid rebuilding a handful of files every time the commit hash changes.
2022-02-04[Net] New replication interface, spawner and synchronizer nodes.Fabio Alessandrelli
Initial implementation of the MultiplayerReplicationInterface and its default implementation (SceneReplicationInterface). New MultiplayerSpawner node helps dealing with instantiation of scenes on remote peers (e.g. clients). It supports both custom spawns via a `_spawn_custom` virtual function, and optional auto-spawn of known scenes via a TypedArray<PackedScenes> property. New MultiplayerSynchornizer helps synchronizing states between the local and remote peers, supports both sync and spawn properties and is configured via a `SceneReplicationConfig` resource. It can also sync via path (i.e. without being spawned by a MultiplayerSpawner if both peers has it in tree, but will not send the spawn state in that case, only the sync one.
2022-02-04String: Add contains().Anilforextra
2022-01-25Issue 57130 Fix GLTFDocument.generate_scene if state is nullPaweł Fertyk
2022-01-08Skip Draco-compressed glTF 3d format files.K. S. Ernest (iFire) Lee
2022-01-07Fix some more wrong node nameskobewi
2022-01-05Merge pull request #56479 from V-Sekai/import-optionsRémi Verschelde
2022-01-05Merge pull request #56380 from RedMser/export_gltf_normal_crashRémi Verschelde
2022-01-05Merge pull request #56290 from nikitalita/fix-gltf-mesh-primsRémi Verschelde
2022-01-05options dict is now passed to _import_scene.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-31Fix glTF scene export crash on null normal textureRedMser
Also removes a redundant get_texture call directly below the modified code block. Fixes #56379
2021-12-27FIX GLTF Document mesh primitive conversionsnikitalita
2021-12-10Misc build system fixesAaron Franke
2021-12-09Add a double-precision editor build to CIAaron Franke
2021-12-05Remove or make verbose some debugging printsHugo Locurcio
The message about SpatialMaterial conversion was turned into a warning, as it can potentially interfere with porting projects from Godot 3.x (if there's a bug in the conversion code).
2021-11-22Fix crash when exporting meshes to gltf that have no skin.jitspoe
2021-11-12Modules: Make sure to include modules_enabled.gen.h where neededRémi Verschelde
2021-11-09Merge pull request #53819 from TokageItLab/re-implement-ping-pongRémi Verschelde
Reimplement ping-pong animation and reverse playback
2021-11-03Merge pull request #54072 from KoBeWi/hrcr_is_dedRémi Verschelde
2021-11-03reimplement ping-pongSilc 'Tokage' Renew
2021-11-01glTF: Fix override materials and non-empty arraysLyuma
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-10-28clang-format: Enable `BreakBeforeTernaryOperators`Rémi Verschelde
clang-format keeps breaking the way it handles break *after* ternary operators, so I give up and go with the only style they seem to actually test.
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
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-28Remove node_hrcr hackkobewi
2021-10-25gltf: Fix validation errors due to chunk padding and empty skins.Lyuma
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-23Fixed animation insertion in SkeletonEditorSilc 'Tokage' Renew
2021-10-21Remove unimplemented methodsMarcel Admiraal
2021-10-19Merge pull request #52940 from groud/toast_notificationRémi Verschelde
2021-10-18Merge pull request #53760 from V-Sekai/import-postRémi Verschelde
2021-10-16Implement Animation Blend Shape Tracksreduz
* New track type BLEND_SHAPE * Blend shapes are imported via this new track type * Processing is more optimized (no longer relies on variants) * Modified the Blend Shape API in MeshInstance3D to use indices rather than StringNames (more optimizes) * Promo: Fixed a small bug in gizmo updating in Node3D that affected performance Dedicated BlendShape tracks are required for both optimization and eventually implementing them in animation compression.
2021-10-15Add scene Post-Import Plugin support.reduz
* New plugin system to control the whole import workflow * Can add options and run code at every import step (general, per node, mesh, animation, material etc.) This constitutes a first version of these plugins. The ability to interact with the import preview dialog will likely be added later on.
2021-10-14Implement toast notifications in the editorGilles Roudière
2021-10-13Restore gltf animation export after split.K. S. Ernest (iFire) Lee
2021-10-13Remove REST transform influence in skeleton bonesreduz
* Animations and Skeletons are now pose-only. * Rest transform is kept as reference (when it exists) and for IK * Improves 3D model compatibility (non uniform transforms will properly work, as well as all animations coming from Autodesk products).
2021-10-13Error check GLTFDocumentExtensionConvertImporterMesh::import_post.K. S. Ernest (iFire) Lee
2021-10-12Remove animation 3D transform track, replace by loc/rot/scale tracks.reduz
* `Animation.TYPE_TRANSFORM3D` track is gone. * Added POSITION_3D, ROTATION_3D, SCALE_3D tracks. * GLTF2, Collada, FBX importers will only import the track types found. * Skeleton3D bone poses are now Pos/Rot/Scale, pose matrix removed. * AnimationPlayer and AnimationTree animate these tracks separately, only when found. * Removed BakeReset code, is useless with these changes. This is the first in a series of commits designed to make the animation system in Godot more useful, which includes: * Better compatibility with Autodesk products * Better reusability of animations across models (including retargeting). * Proper animation compression. * etc. *Note* GLTF2 animation saving went broken with this PR, needs to be fixed in a subsequent one.
2021-10-11Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and ↵Juan Linietsky
NodeAnimation"
2021-10-09implement ping-pong loop in animationTokage
Co-authored-by: Chaosus <chaosus89@gmail.com>
2021-10-04Enable GLTFDocumentExtensionConvertImporterMesh only in games.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-30Use range iterators for `Map`Lightning_A
2021-09-30Rename Node's `filename` property to `scene_file_path` for clarityHugo Locurcio
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>