From 7b8f9a0e8e6adec71cde6e38977686c8c0c59575 Mon Sep 17 00:00:00 2001 From: Aaron Franke Date: Sun, 24 Jul 2022 14:20:50 -0500 Subject: [PATCH] GLTF: Organize structures into a subfolder --- modules/gltf/README.md | 11 ++++++++++ modules/gltf/SCsub | 2 ++ modules/gltf/{ => extensions}/gltf_light.cpp | 0 modules/gltf/{ => extensions}/gltf_light.h | 0 .../gltf/{ => extensions}/gltf_spec_gloss.cpp | 0 .../gltf/{ => extensions}/gltf_spec_gloss.h | 0 modules/gltf/gltf_document.cpp | 2 +- modules/gltf/gltf_document.h | 2 +- modules/gltf/gltf_document_extension.h | 2 +- modules/gltf/gltf_state.h | 20 ++++++++--------- modules/gltf/register_types.cpp | 22 +++++++++---------- .../gltf/{ => structures}/gltf_accessor.cpp | 0 modules/gltf/{ => structures}/gltf_accessor.h | 2 +- .../gltf/{ => structures}/gltf_animation.cpp | 0 .../gltf/{ => structures}/gltf_animation.h | 0 .../{ => structures}/gltf_buffer_view.cpp | 2 +- .../gltf/{ => structures}/gltf_buffer_view.h | 2 +- modules/gltf/{ => structures}/gltf_camera.cpp | 0 modules/gltf/{ => structures}/gltf_camera.h | 0 modules/gltf/{ => structures}/gltf_mesh.cpp | 0 modules/gltf/{ => structures}/gltf_mesh.h | 0 modules/gltf/{ => structures}/gltf_node.cpp | 0 modules/gltf/{ => structures}/gltf_node.h | 2 +- .../gltf/{ => structures}/gltf_skeleton.cpp | 2 +- modules/gltf/{ => structures}/gltf_skeleton.h | 2 +- modules/gltf/{ => structures}/gltf_skin.cpp | 2 +- modules/gltf/{ => structures}/gltf_skin.h | 2 +- .../gltf/{ => structures}/gltf_texture.cpp | 0 modules/gltf/{ => structures}/gltf_texture.h | 2 +- 29 files changed, 46 insertions(+), 33 deletions(-) create mode 100644 modules/gltf/README.md rename modules/gltf/{ => extensions}/gltf_light.cpp (100%) rename modules/gltf/{ => extensions}/gltf_light.h (100%) rename modules/gltf/{ => extensions}/gltf_spec_gloss.cpp (100%) rename modules/gltf/{ => extensions}/gltf_spec_gloss.h (100%) rename modules/gltf/{ => structures}/gltf_accessor.cpp (100%) rename modules/gltf/{ => structures}/gltf_accessor.h (99%) rename modules/gltf/{ => structures}/gltf_animation.cpp (100%) rename modules/gltf/{ => structures}/gltf_animation.h (100%) rename modules/gltf/{ => structures}/gltf_buffer_view.cpp (99%) rename modules/gltf/{ => structures}/gltf_buffer_view.h (99%) rename modules/gltf/{ => structures}/gltf_camera.cpp (100%) rename modules/gltf/{ => structures}/gltf_camera.h (100%) rename modules/gltf/{ => structures}/gltf_mesh.cpp (100%) rename modules/gltf/{ => structures}/gltf_mesh.h (100%) rename modules/gltf/{ => structures}/gltf_node.cpp (100%) rename modules/gltf/{ => structures}/gltf_node.h (99%) rename modules/gltf/{ => structures}/gltf_skeleton.cpp (99%) rename modules/gltf/{ => structures}/gltf_skeleton.h (99%) rename modules/gltf/{ => structures}/gltf_skin.cpp (99%) rename modules/gltf/{ => structures}/gltf_skin.h (99%) rename modules/gltf/{ => structures}/gltf_texture.cpp (100%) rename modules/gltf/{ => structures}/gltf_texture.h (98%) diff --git a/modules/gltf/README.md b/modules/gltf/README.md new file mode 100644 index 0000000000..5d8966b201 --- /dev/null +++ b/modules/gltf/README.md @@ -0,0 +1,11 @@ +# Godot GLTF import and export module + +In a nutshell, the GLTF module works like this: + +* The [`structures/`](structures/) folder contains GLTF structures, the + small pieces that make up a GLTF file, represented as C++ classes. +* The [`extensions/`](extensions/) folder contains GLTF extensions, which + are optional features that build on top of the base GLTF spec. +* [`GLTFState`](gltf_state.h) holds collections of structures and extensions. +* [`GLTFDocument`](gltf_document.h) operates on GLTFState and its elements. +* The [`editor/`](editor/) folder uses GLTFDocument to import and export 3D models. diff --git a/modules/gltf/SCsub b/modules/gltf/SCsub index 3379404a00..6634d5df7b 100644 --- a/modules/gltf/SCsub +++ b/modules/gltf/SCsub @@ -7,5 +7,7 @@ env_gltf = env_modules.Clone() # Godot's own source files env_gltf.add_source_files(env.modules_sources, "*.cpp") +env_gltf.add_source_files(env.modules_sources, "extensions/*.cpp") +env_gltf.add_source_files(env.modules_sources, "structures/*.cpp") if env["tools"]: env_gltf.add_source_files(env.modules_sources, "editor/*.cpp") diff --git a/modules/gltf/gltf_light.cpp b/modules/gltf/extensions/gltf_light.cpp similarity index 100% rename from modules/gltf/gltf_light.cpp rename to modules/gltf/extensions/gltf_light.cpp diff --git a/modules/gltf/gltf_light.h b/modules/gltf/extensions/gltf_light.h similarity index 100% rename from modules/gltf/gltf_light.h rename to modules/gltf/extensions/gltf_light.h diff --git a/modules/gltf/gltf_spec_gloss.cpp b/modules/gltf/extensions/gltf_spec_gloss.cpp similarity index 100% rename from modules/gltf/gltf_spec_gloss.cpp rename to modules/gltf/extensions/gltf_spec_gloss.cpp diff --git a/modules/gltf/gltf_spec_gloss.h b/modules/gltf/extensions/gltf_spec_gloss.h similarity index 100% rename from modules/gltf/gltf_spec_gloss.h rename to modules/gltf/extensions/gltf_spec_gloss.h diff --git a/modules/gltf/gltf_document.cpp b/modules/gltf/gltf_document.cpp index aa2ec4a399..afe6941c81 100644 --- a/modules/gltf/gltf_document.cpp +++ b/modules/gltf/gltf_document.cpp @@ -30,9 +30,9 @@ #include "gltf_document.h" +#include "extensions/gltf_spec_gloss.h" #include "gltf_document_extension.h" #include "gltf_document_extension_convert_importer_mesh.h" -#include "gltf_spec_gloss.h" #include "gltf_state.h" #include "core/crypto/crypto_core.h" diff --git a/modules/gltf/gltf_document.h b/modules/gltf/gltf_document.h index 0c585bf49b..36a2f94a4e 100644 --- a/modules/gltf/gltf_document.h +++ b/modules/gltf/gltf_document.h @@ -31,8 +31,8 @@ #ifndef GLTF_DOCUMENT_H #define GLTF_DOCUMENT_H -#include "gltf_animation.h" #include "gltf_defines.h" +#include "structures/gltf_animation.h" #include "scene/3d/bone_attachment_3d.h" #include "scene/3d/importer_mesh_instance_3d.h" diff --git a/modules/gltf/gltf_document_extension.h b/modules/gltf/gltf_document_extension.h index 8fd4d4e54e..0ef9109584 100644 --- a/modules/gltf/gltf_document_extension.h +++ b/modules/gltf/gltf_document_extension.h @@ -31,8 +31,8 @@ #ifndef GLTF_DOCUMENT_EXTENSION_H #define GLTF_DOCUMENT_EXTENSION_H -#include "gltf_node.h" #include "gltf_state.h" +#include "structures/gltf_node.h" class GLTFDocumentExtension : public Resource { GDCLASS(GLTFDocumentExtension, Resource); diff --git a/modules/gltf/gltf_state.h b/modules/gltf/gltf_state.h index dd6a65e496..257de5c4e3 100644 --- a/modules/gltf/gltf_state.h +++ b/modules/gltf/gltf_state.h @@ -31,17 +31,17 @@ #ifndef GLTF_STATE_H #define GLTF_STATE_H -#include "gltf_accessor.h" -#include "gltf_animation.h" -#include "gltf_buffer_view.h" -#include "gltf_camera.h" -#include "gltf_light.h" -#include "gltf_mesh.h" -#include "gltf_node.h" -#include "gltf_skeleton.h" -#include "gltf_skin.h" +#include "extensions/gltf_light.h" #include "gltf_template_convert.h" -#include "gltf_texture.h" +#include "structures/gltf_accessor.h" +#include "structures/gltf_animation.h" +#include "structures/gltf_buffer_view.h" +#include "structures/gltf_camera.h" +#include "structures/gltf_mesh.h" +#include "structures/gltf_node.h" +#include "structures/gltf_skeleton.h" +#include "structures/gltf_skin.h" +#include "structures/gltf_texture.h" #include "core/templates/rb_map.h" #include "scene/animation/animation_player.h" diff --git a/modules/gltf/register_types.cpp b/modules/gltf/register_types.cpp index b8bac79584..1e1204aa57 100644 --- a/modules/gltf/register_types.cpp +++ b/modules/gltf/register_types.cpp @@ -32,21 +32,21 @@ #ifndef _3D_DISABLED -#include "gltf_accessor.h" -#include "gltf_animation.h" -#include "gltf_buffer_view.h" -#include "gltf_camera.h" +#include "extensions/gltf_light.h" +#include "extensions/gltf_spec_gloss.h" #include "gltf_document.h" #include "gltf_document_extension.h" #include "gltf_document_extension_convert_importer_mesh.h" -#include "gltf_light.h" -#include "gltf_mesh.h" -#include "gltf_node.h" -#include "gltf_skeleton.h" -#include "gltf_skin.h" -#include "gltf_spec_gloss.h" #include "gltf_state.h" -#include "gltf_texture.h" +#include "structures/gltf_accessor.h" +#include "structures/gltf_animation.h" +#include "structures/gltf_buffer_view.h" +#include "structures/gltf_camera.h" +#include "structures/gltf_mesh.h" +#include "structures/gltf_node.h" +#include "structures/gltf_skeleton.h" +#include "structures/gltf_skin.h" +#include "structures/gltf_texture.h" #ifdef TOOLS_ENABLED #include "core/config/project_settings.h" diff --git a/modules/gltf/gltf_accessor.cpp b/modules/gltf/structures/gltf_accessor.cpp similarity index 100% rename from modules/gltf/gltf_accessor.cpp rename to modules/gltf/structures/gltf_accessor.cpp diff --git a/modules/gltf/gltf_accessor.h b/modules/gltf/structures/gltf_accessor.h similarity index 99% rename from modules/gltf/gltf_accessor.h rename to modules/gltf/structures/gltf_accessor.h index d89cc5d1ae..c9abbda668 100644 --- a/modules/gltf/gltf_accessor.h +++ b/modules/gltf/structures/gltf_accessor.h @@ -33,7 +33,7 @@ #include "core/io/resource.h" -#include "gltf_defines.h" +#include "../gltf_defines.h" struct GLTFAccessor : public Resource { GDCLASS(GLTFAccessor, Resource); diff --git a/modules/gltf/gltf_animation.cpp b/modules/gltf/structures/gltf_animation.cpp similarity index 100% rename from modules/gltf/gltf_animation.cpp rename to modules/gltf/structures/gltf_animation.cpp diff --git a/modules/gltf/gltf_animation.h b/modules/gltf/structures/gltf_animation.h similarity index 100% rename from modules/gltf/gltf_animation.h rename to modules/gltf/structures/gltf_animation.h diff --git a/modules/gltf/gltf_buffer_view.cpp b/modules/gltf/structures/gltf_buffer_view.cpp similarity index 99% rename from modules/gltf/gltf_buffer_view.cpp rename to modules/gltf/structures/gltf_buffer_view.cpp index fc467367c6..ba19ed8628 100644 --- a/modules/gltf/gltf_buffer_view.cpp +++ b/modules/gltf/structures/gltf_buffer_view.cpp @@ -30,7 +30,7 @@ #include "gltf_buffer_view.h" -#include "gltf_document_extension.h" +#include "../gltf_document_extension.h" void GLTFBufferView::_bind_methods() { ClassDB::bind_method(D_METHOD("get_buffer"), &GLTFBufferView::get_buffer); diff --git a/modules/gltf/gltf_buffer_view.h b/modules/gltf/structures/gltf_buffer_view.h similarity index 99% rename from modules/gltf/gltf_buffer_view.h rename to modules/gltf/structures/gltf_buffer_view.h index e28456fd8e..dada1e87b3 100644 --- a/modules/gltf/gltf_buffer_view.h +++ b/modules/gltf/structures/gltf_buffer_view.h @@ -31,8 +31,8 @@ #ifndef GLTF_BUFFER_VIEW_H #define GLTF_BUFFER_VIEW_H +#include "../gltf_defines.h" #include "core/io/resource.h" -#include "gltf_defines.h" class GLTFBufferView : public Resource { GDCLASS(GLTFBufferView, Resource); diff --git a/modules/gltf/gltf_camera.cpp b/modules/gltf/structures/gltf_camera.cpp similarity index 100% rename from modules/gltf/gltf_camera.cpp rename to modules/gltf/structures/gltf_camera.cpp diff --git a/modules/gltf/gltf_camera.h b/modules/gltf/structures/gltf_camera.h similarity index 100% rename from modules/gltf/gltf_camera.h rename to modules/gltf/structures/gltf_camera.h diff --git a/modules/gltf/gltf_mesh.cpp b/modules/gltf/structures/gltf_mesh.cpp similarity index 100% rename from modules/gltf/gltf_mesh.cpp rename to modules/gltf/structures/gltf_mesh.cpp diff --git a/modules/gltf/gltf_mesh.h b/modules/gltf/structures/gltf_mesh.h similarity index 100% rename from modules/gltf/gltf_mesh.h rename to modules/gltf/structures/gltf_mesh.h diff --git a/modules/gltf/gltf_node.cpp b/modules/gltf/structures/gltf_node.cpp similarity index 100% rename from modules/gltf/gltf_node.cpp rename to modules/gltf/structures/gltf_node.cpp diff --git a/modules/gltf/gltf_node.h b/modules/gltf/structures/gltf_node.h similarity index 99% rename from modules/gltf/gltf_node.h rename to modules/gltf/structures/gltf_node.h index 7b03b55fbc..67a268dd1a 100644 --- a/modules/gltf/gltf_node.h +++ b/modules/gltf/structures/gltf_node.h @@ -31,8 +31,8 @@ #ifndef GLTF_NODE_H #define GLTF_NODE_H +#include "../gltf_defines.h" #include "core/io/resource.h" -#include "gltf_defines.h" class GLTFNode : public Resource { GDCLASS(GLTFNode, Resource); diff --git a/modules/gltf/gltf_skeleton.cpp b/modules/gltf/structures/gltf_skeleton.cpp similarity index 99% rename from modules/gltf/gltf_skeleton.cpp rename to modules/gltf/structures/gltf_skeleton.cpp index 994e9bf6e7..90a6b0f50f 100644 --- a/modules/gltf/gltf_skeleton.cpp +++ b/modules/gltf/structures/gltf_skeleton.cpp @@ -30,7 +30,7 @@ #include "gltf_skeleton.h" -#include "gltf_template_convert.h" +#include "../gltf_template_convert.h" #include "scene/3d/bone_attachment_3d.h" void GLTFSkeleton::_bind_methods() { diff --git a/modules/gltf/gltf_skeleton.h b/modules/gltf/structures/gltf_skeleton.h similarity index 99% rename from modules/gltf/gltf_skeleton.h rename to modules/gltf/structures/gltf_skeleton.h index eaeff0c0cb..05bfa37a06 100644 --- a/modules/gltf/gltf_skeleton.h +++ b/modules/gltf/structures/gltf_skeleton.h @@ -31,8 +31,8 @@ #ifndef GLTF_SKELETON_H #define GLTF_SKELETON_H +#include "../gltf_defines.h" #include "core/io/resource.h" -#include "gltf_defines.h" class GLTFSkeleton : public Resource { GDCLASS(GLTFSkeleton, Resource); diff --git a/modules/gltf/gltf_skin.cpp b/modules/gltf/structures/gltf_skin.cpp similarity index 99% rename from modules/gltf/gltf_skin.cpp rename to modules/gltf/structures/gltf_skin.cpp index 8b0ca7546c..2e46ee3be2 100644 --- a/modules/gltf/gltf_skin.cpp +++ b/modules/gltf/structures/gltf_skin.cpp @@ -30,7 +30,7 @@ #include "gltf_skin.h" -#include "gltf_template_convert.h" +#include "../gltf_template_convert.h" #include "scene/resources/skin.h" void GLTFSkin::_bind_methods() { diff --git a/modules/gltf/gltf_skin.h b/modules/gltf/structures/gltf_skin.h similarity index 99% rename from modules/gltf/gltf_skin.h rename to modules/gltf/structures/gltf_skin.h index a3f0b2c8af..1127c20a3b 100644 --- a/modules/gltf/gltf_skin.h +++ b/modules/gltf/structures/gltf_skin.h @@ -31,8 +31,8 @@ #ifndef GLTF_SKIN_H #define GLTF_SKIN_H +#include "../gltf_defines.h" #include "core/io/resource.h" -#include "gltf_defines.h" class GLTFSkin : public Resource { GDCLASS(GLTFSkin, Resource); diff --git a/modules/gltf/gltf_texture.cpp b/modules/gltf/structures/gltf_texture.cpp similarity index 100% rename from modules/gltf/gltf_texture.cpp rename to modules/gltf/structures/gltf_texture.cpp diff --git a/modules/gltf/gltf_texture.h b/modules/gltf/structures/gltf_texture.h similarity index 98% rename from modules/gltf/gltf_texture.h rename to modules/gltf/structures/gltf_texture.h index 2c1c5c2275..b1d12dddfa 100644 --- a/modules/gltf/gltf_texture.h +++ b/modules/gltf/structures/gltf_texture.h @@ -31,8 +31,8 @@ #ifndef GLTF_TEXTURE_H #define GLTF_TEXTURE_H +#include "../gltf_defines.h" #include "core/io/resource.h" -#include "gltf_defines.h" class GLTFTexture : public Resource { GDCLASS(GLTFTexture, Resource);