summaryrefslogtreecommitdiff
path: root/modules/gltf/gltf_document.cpp
AgeCommit message (Collapse)Author
2022-10-14Make some Image methods statickobewi
2022-10-10SCons: Re-enable treating `#warning` as error with `werror`Rémi Verschelde
Replace all TODO uses of `#warning` by proper TODO comments, and will open matching bug reports to keep track of them. We don't have a great track record fixing TODOs, but I'd wager we're even worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-03GLTF imports & exports material texture filtersThe Tophat Demon
2022-09-19Add a way to get the GLTF extensions supported by GLTFDocumentExtensionAaron Franke
2022-09-19Make used extensions stored in GLTFStateAaron Franke
This allows GLTFDocumentExtension classes to add to the used extensions array.
2022-09-18Minor enhancements to the GLTF module (lights and docs)Aaron Franke
2022-09-10Fix gltf 8 bone weights condition to check for the second joint arraySarfraz
size.
2022-09-05Rename TileMap/GridMap.`world_to_map` and opposite to `local_to_map`Micky
For both TileMap and GridMap: - `world_to_map` -> `local_to_map` - `map_to_world` -> `map_to_local` Also changes any mention of "world" in this context to "local" to avoid future confusion. Finally, updates the docs of both methods for consistency. In particular, adding a note on how to convert the returned values from local to global coordinates and vice versa.
2022-09-02Merge pull request #65170 from KoBeWi/your_argument_is_TypedArrayRémi Verschelde
2022-09-02Add `is_zero_approx` methods to `Vector2`, `3`, and `4`Jonathan Nicholl
2022-09-01Change Array arguments to TypedArraykobewi
2022-08-30Merge pull request #65066 from aaronfranke/str-path-joinRémi Verschelde
2022-08-29Rename String `plus_file` to `path_join`Aaron Franke
2022-08-28Move GLTF camera conversion code into GLTFCameraAaron Franke
2022-08-28Move GLTF light conversion code into GLTFLightAaron Franke
2022-08-26Rename `str2var` to `str_to_var` and similarMicky
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too. - `var2str` -> `var_to_str` - `str2var` -> `str_to_var` - `bytes2var` -> `bytes_to_var` - `bytes2var_with_objects` -> `bytes_to_var_with_objects` - `var2bytes` -> `var_to_bytes` - `var2bytes_with_objects` -> `var_to_bytes_with_objects` - `linear2db` -> `linear_to_db` - `db2linear` -> `db_to_linear` - `deg2rad` -> `deg_to_rad` - `rad2deg` -> `rad_to_deg` - `dict2inst` -> `dict_to_inst` - `inst2dict` -> `inst_to_dict`
2022-08-22Merge pull request #64400 from aaronfranke/gltf-fix-cameraRémi Verschelde
2022-08-20Expose Basis `set_orthogonal_index` method as a GridMap functionrafallus
2022-08-14GLTF: Fix orthographic cameras, internally store data in GLTF's formatAaron Franke
2022-08-10Prevent AnimationPlayer from being added on GLTF import if the option is ↵Hakim
unchecked. Fixes #63954
2022-07-31Merge pull request #55943 from jvanmourik/masterRémi Verschelde
glTF animation parsing: Changed the 'loop' and 'cycle' animation name keywords to be case-insensitive
2022-07-25Merge pull request #63219 from reduz/implement-vector4-projectionRémi Verschelde
2022-07-24GLTF: Organize structures into a subfolderAaron Franke
2022-07-25Merge pull request #63409 from V-Sekai/gltf-exportRémi Verschelde
2022-07-24Mend duplicate nodes in the gltf export.K. S. Ernest (iFire) Lee
2022-07-24GLTF: Move shared defines into a separate gltf_defines.h fileAaron Franke
Also move GLTFDocument's template conversion functions into gltf_template_convert.h
2022-07-23GLTF: Only list used extensions when they're actually usedAaron Franke
2022-07-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-08Add static methods for creating Image and ImageTexturekobewi
2022-07-05Fix light intensity and attenuation import from GLTFPZerua
2022-07-03glTF: Fix a couple typos in warnings on image parsingRémi Verschelde
2022-05-20Improve gltf extension GLTFDocument api.K. S. Ernest (iFire) Lee
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-05-03Rename Basis get_axis to get_column, remove redundant methodsAaron Franke
2022-04-23Discard images from gltf import for the animation library.K. S. Ernest (iFire) Lee
This is an optimization.
2022-04-13Color: Rename `to_srgb`/`to_linear` to include base color spaceRémi Verschelde
This helps reduce confusion around sRGB <> Linear conversions by making both input and output color spaces explicit.
2022-04-11Merge pull request #59980 from reduz/animation-librariesRémi Verschelde
2022-04-11Implement Animation Librariesreduz
* Instead of containing single animations, AnimationPlayer now contains libraries. * Libraries, in turn, contain the animations. This paves the way for implementing the possibility of importing scenes as animation libraries, finally allowing to import animations separate from the 3D models. Missing (will be done on separate PRs): * Make it possible to import scenes (dae/fbx/gltf) as animation libraries. * Make it possible for AnimationTree to import animation libraries on its own, so it does not rely on AnimationPlayer for everything.
2022-04-11Make FileAccess and DirAccess classes reference counted.bruvzg
2022-03-29Add support for importing .blend filesK. S. Ernest (iFire) Lee
Lets you drag or place .blend files in the project folder and it will import the files. Checks for Blender 3.0's gltf2 `export_keep_originals` option. Add basepath support to GLTFDocument append_from_file. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-03-28Remove last editor code dependencies in template buildRémi Verschelde
SConstruct change also makes it possible to outright delete the `editor` folder in a `tools=no` build, which we use in CI to ensure no invalid cross-dependencies are added.
2022-03-24Add GLTF, DAE and FBX importers enforcement for blend shape mask arrayAdam Scott
2022-03-03glTF export for new TYPE_BLEND_SHAPE tracksLyuma
2022-02-20Fix GLTF exporter crash when using GridMapHaoyu Qiu
2022-02-16Default material is assigned to meshes without material for glTF exportFazil Babu
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.