summaryrefslogtreecommitdiffstats
path: root/modules/gltf/gltf_document.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Skip Draco-compressed glTF 3d format files.K. S. Ernest (iFire) Lee2022-01-081-17/+34
|
* Fix some more wrong node nameskobewi2022-01-071-1/+1
|
* Merge pull request #56380 from RedMser/export_gltf_normal_crashRémi Verschelde2022-01-051-20/+23
|\
| * Fix glTF scene export crash on null normal textureRedMser2021-12-311-20/+23
| | | | | | | | | | | | | | Also removes a redundant get_texture call directly below the modified code block. Fixes #56379
* | Merge pull request #56290 from nikitalita/fix-gltf-mesh-primsRémi Verschelde2022-01-051-7/+9
|\ \
| * | FIX GLTF Document mesh primitive conversionsnikitalita2021-12-271-7/+9
| |/
* | Merge pull request #52541 from V-Sekai/gltf-load-scene-bufferK. S. Ernest (iFire) Lee2022-01-041-282/+299
|\ \ | | | | | | Add gltf import buffer.
| * | Add import glb from bufferK. S. Ernest (iFire) Lee2022-01-041-282/+299
| |/ | | | | | | | | | | | | 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.
* / Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
|/ | | | Happy new year to the wonderful Godot community!
* Misc build system fixesAaron Franke2021-12-101-1/+1
|
* Add a double-precision editor build to CIAaron Franke2021-12-091-11/+11
|
* Remove or make verbose some debugging printsHugo Locurcio2021-12-051-1/+1
| | | | | | 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).
* Fix crash when exporting meshes to gltf that have no skin.jitspoe2021-11-221-1/+4
|
* Modules: Make sure to include modules_enabled.gen.h where neededRémi Verschelde2021-11-121-1/+1
|
* Merge pull request #53819 from TokageItLab/re-implement-ping-pongRémi Verschelde2021-11-091-1/+1
|\ | | | | Reimplement ping-pong animation and reverse playback
| * reimplement ping-pongSilc 'Tokage' Renew2021-11-031-1/+1
| |
* | Merge pull request #54072 from KoBeWi/hrcr_is_dedRémi Verschelde2021-11-031-8/+8
|\ \ | |/ |/|
| * Remove node_hrcr hackkobewi2021-10-281-8/+8
| |
* | glTF: Fix override materials and non-empty arraysLyuma2021-11-011-1/+36
| | | | | | | | | | 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.
* | clang-format: Enable `BreakBeforeTernaryOperators`Rémi Verschelde2021-10-281-2/+1
| | | | | | | | | | 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.
* | clang-format: Disable alignment of operands, too unreliableRémi Verschelde2021-10-281-1/+1
| | | | | | | | | | | | | | | | | | 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`.
* | gltf: Fix validation errors due to chunk padding and empty skins.Lyuma2021-10-251-18/+25
| | | | | | | | | | | | 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.
* | Fixed animation insertion in SkeletonEditorSilc 'Tokage' Renew2021-10-231-1/+1
|/
* Merge pull request #52940 from groud/toast_notificationRémi Verschelde2021-10-191-2/+2
|\
| * Implement toast notifications in the editorGilles Roudière2021-10-141-2/+2
| |
* | Implement Animation Blend Shape Tracksreduz2021-10-161-6/+6
| | | | | | | | | | | | | | | | | | | | * 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.
* | Add scene Post-Import Plugin support.reduz2021-10-151-4/+4
|/ | | | | | | * 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.
* Restore gltf animation export after split.K. S. Ernest (iFire) Lee2021-10-131-52/+37
|
* Remove REST transform influence in skeleton bonesreduz2021-10-131-26/+7
| | | | | | * 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).
* Remove animation 3D transform track, replace by loc/rot/scale tracks.reduz2021-10-121-12/+84
| | | | | | | | | | | | | | | | | | * `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.
* Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and ↵Juan Linietsky2021-10-111-1/+1
| | | | NodeAnimation"
* implement ping-pong loop in animationTokage2021-10-091-1/+1
| | | | Co-authored-by: Chaosus <chaosus89@gmail.com>
* Enable GLTFDocumentExtensionConvertImporterMesh only in games.K. S. Ernest (iFire) Lee2021-10-041-1/+2
|
* GLTF for game templates.K. S. Ernest (iFire) Lee2021-10-031-122/+199
| | | | | | | | | | | | | 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.
* Use range iterators for `Map`Lightning_A2021-09-301-32/+32
|
* gltf export: Fix export of skeletons, skins and blend shapes.Lyuma2021-09-291-314/+317
| | | | | | | | | | | | | 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>
* Use functions defined in the their classes.Anilforextra2021-09-291-4/+1
|
* Fix GLTF light importAaron Franke2021-09-261-3/+3
|
* Corrected GLTFDocument::save_scene from processing a nullptrMatthew Newall2021-09-201-0/+2
| | | | Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* Merge pull request #52273 from aaronfranke/gltf-renamesRémi Verschelde2021-09-151-87/+83
|\
| * Fix missing renames in the GLTF moduleAaron Franke2021-08-311-87/+83
| |
* | 8 uvs for glTF2, URI decode and Vertex Custom api.Lyuma2021-09-101-19/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | Add glTF2 uri decode for paths. Add vertex custom apis. Add scene importer api. Change Color to float; add support for float-based custom channels in SurfaceTool and EditorSceneImporterMesh Co-authored-by: darth negative hunter <thenegativehunter2@users.noreply.github.com>
* | Remove packed scene gltfK. S. Ernest (iFire) Lee2021-09-101-0/+76
|/ | | We determined through discussion that composing the packed scene from a node tree was a better design because it removed duplication of code.
* Continue when glTF2 lights fail to parse.K. S. Ernest (iFire) Lee2021-08-091-5/+7
|
* Merge pull request #51052 from V-Sekai/gltf-fallbacksRémi Verschelde2021-07-301-9/+16
|\ | | | | glTF2 fallback load PNG and JPG
| * glTF2 fallback load PNG and JPGK. S. Ernest (iFire) Lee2021-07-301-9/+16
| |
* | In glTF2 animations, log spam less when running.K. S. Ernest (iFire) Lee2021-07-291-1/+4
|/
* Fix GLTF crash when the material is not set.Andrea Catania2021-07-231-1/+1
| | | Sometimes there are meshes that doesn't have materials, so make sure to check this case before extracting the name.
* Set the surface name when GLTF file is imported.Andrea Catania2021-07-211-1/+1
|
* Misc cleanup of header includesRémi Verschelde2021-07-151-24/+17
| | | | | Was looking for misuse of module headers without checking that the module is actually enabled and got carried away...