From 7e21eb7e00751851fa96bc99b695d520dbbed9a4 Mon Sep 17 00:00:00 2001 From: Hendrik Brucker Date: Tue, 11 Jul 2023 22:29:09 +0200 Subject: [PATCH] Extract and reorganize texture resource classes --- drivers/png/resource_saver_png.cpp | 2 +- editor/debugger/editor_profiler.cpp | 1 + editor/debugger/editor_profiler.h | 2 + editor/debugger/editor_visual_profiler.cpp | 1 + editor/debugger/editor_visual_profiler.h | 2 + editor/editor_node.cpp | 2 + editor/editor_plugin.cpp | 1 + editor/editor_resource_picker.cpp | 2 + editor/editor_resource_preview.cpp | 1 + editor/editor_resource_preview.h | 4 +- editor/editor_run_native.cpp | 1 + editor/editor_themes.cpp | 1 + editor/export/editor_export_platform.cpp | 1 + editor/export/editor_export_platform.h | 1 + editor/export/editor_export_platform_pc.cpp | 1 + .../resource_importer_layered_texture.cpp | 1 + editor/import/resource_importer_texture.cpp | 1 + .../resource_importer_texture_atlas.cpp | 4 +- .../animation_player_editor_plugin.cpp | 1 + .../plugins/animation_player_editor_plugin.h | 1 + .../plugins/asset_library_editor_plugin.cpp | 1 + editor/plugins/bit_map_editor_plugin.cpp | 1 + editor/plugins/curve_editor_plugin.cpp | 1 + editor/plugins/editor_preview_plugins.cpp | 3 + .../gpu_particles_2d_editor_plugin.cpp | 1 + .../gpu_particles_3d_editor_plugin.cpp | 1 + editor/plugins/gradient_editor.cpp | 1 + editor/plugins/gradient_editor.h | 2 + .../gradient_texture_2d_editor_plugin.cpp | 1 + .../gradient_texture_2d_editor_plugin.h | 1 + .../plugins/sprite_frames_editor_plugin.cpp | 1 + editor/plugins/sprite_frames_editor_plugin.h | 1 + editor/plugins/texture_editor_plugin.cpp | 5 + .../plugins/texture_region_editor_plugin.cpp | 2 +- editor/plugins/texture_region_editor_plugin.h | 4 +- editor/plugins/tiles/atlas_merging_dialog.cpp | 1 + editor/plugins/tiles/tiles_editor_plugin.cpp | 1 + .../plugins/visual_shader_editor_plugin.cpp | 2 + editor/project_manager.cpp | 1 + modules/dds/texture_loader_dds.cpp | 1 + modules/dds/texture_loader_dds.h | 1 - modules/gltf/gltf_document.cpp | 2 + modules/text_server_adv/text_server_adv.cpp | 1 + modules/text_server_adv/text_server_adv.h | 2 +- modules/text_server_fb/text_server_fb.h | 2 +- modules/theora/video_stream_theora.cpp | 1 + modules/theora/video_stream_theora.h | 2 + modules/webp/resource_saver_webp.cpp | 2 +- platform/android/export/export_plugin.cpp | 1 + platform/ios/export/export_plugin.h | 1 + platform/linuxbsd/export/export_plugin.h | 2 +- platform/linuxbsd/x11/display_server_x11.cpp | 2 +- platform/macos/display_server_macos.mm | 3 +- platform/macos/export/export_plugin.cpp | 1 + platform/uwp/export/export_plugin.cpp | 1 + platform/uwp/export/export_plugin.h | 1 + platform/web/display_server_web.cpp | 1 + platform/web/export/export_plugin.cpp | 1 + platform/windows/display_server_windows.cpp | 2 +- scene/2d/cpu_particles_2d.cpp | 3 + scene/2d/gpu_particles_2d.cpp | 1 + scene/3d/cpu_particles_3d.cpp | 3 + scene/3d/lightmap_gi.cpp | 1 + scene/3d/sprite_3d.cpp | 1 + scene/gui/color_picker.cpp | 1 + scene/gui/rich_text_label.cpp | 3 +- scene/gui/rich_text_label.h | 2 +- scene/gui/texture_progress_bar.cpp | 1 + scene/gui/texture_rect.cpp | 1 + scene/gui/video_stream_player.cpp | 1 + scene/gui/video_stream_player.h | 2 + scene/main/scene_tree.cpp | 1 + scene/register_scene_types.cpp | 10 + scene/resources/animated_texture.cpp | 286 ++ scene/resources/animated_texture.h | 109 + scene/resources/atlas_texture.cpp | 255 ++ scene/resources/atlas_texture.h | 79 + scene/resources/camera_texture.cpp | 131 + scene/resources/camera_texture.h | 68 + scene/resources/compressed_texture.cpp | 907 +++++ scene/resources/compressed_texture.h | 273 ++ scene/resources/curve_texture.cpp | 376 ++ scene/resources/curve_texture.h | 122 + .../resources/default_theme/default_theme.cpp | 2 + scene/resources/environment.cpp | 2 +- scene/resources/font.cpp | 1 + scene/resources/gradient_texture.cpp | 438 +++ scene/resources/gradient_texture.h | 144 + scene/resources/image_texture.cpp | 514 +++ scene/resources/image_texture.h | 203 + scene/resources/mesh_texture.cpp | 156 + scene/resources/mesh_texture.h | 75 + scene/resources/particle_process_material.cpp | 1 + scene/resources/placeholder_textures.cpp | 177 + scene/resources/placeholder_textures.h | 130 + .../resources/portable_compressed_texture.cpp | 339 ++ scene/resources/portable_compressed_texture.h | 110 + scene/resources/texture.cpp | 3490 +---------------- scene/resources/texture.h | 949 ----- scene/resources/tile_set.cpp | 1 + scene/resources/tile_set.h | 2 +- scene/resources/visual_shader_nodes.cpp | 2 + scene/resources/visual_shader_nodes.h | 4 + .../visual_shader_particle_nodes.cpp | 1 + .../resources/visual_shader_particle_nodes.h | 2 + tests/scene/test_theme.h | 1 + 106 files changed, 5117 insertions(+), 4356 deletions(-) create mode 100644 scene/resources/animated_texture.cpp create mode 100644 scene/resources/animated_texture.h create mode 100644 scene/resources/atlas_texture.cpp create mode 100644 scene/resources/atlas_texture.h create mode 100644 scene/resources/camera_texture.cpp create mode 100644 scene/resources/camera_texture.h create mode 100644 scene/resources/compressed_texture.cpp create mode 100644 scene/resources/compressed_texture.h create mode 100644 scene/resources/curve_texture.cpp create mode 100644 scene/resources/curve_texture.h create mode 100644 scene/resources/gradient_texture.cpp create mode 100644 scene/resources/gradient_texture.h create mode 100644 scene/resources/image_texture.cpp create mode 100644 scene/resources/image_texture.h create mode 100644 scene/resources/mesh_texture.cpp create mode 100644 scene/resources/mesh_texture.h create mode 100644 scene/resources/placeholder_textures.cpp create mode 100644 scene/resources/placeholder_textures.h create mode 100644 scene/resources/portable_compressed_texture.cpp create mode 100644 scene/resources/portable_compressed_texture.h diff --git a/drivers/png/resource_saver_png.cpp b/drivers/png/resource_saver_png.cpp index ab0ff32514bf..0df6b2ba2132 100644 --- a/drivers/png/resource_saver_png.cpp +++ b/drivers/png/resource_saver_png.cpp @@ -33,7 +33,7 @@ #include "core/io/file_access.h" #include "core/io/image.h" #include "drivers/png/png_driver_common.h" -#include "scene/resources/texture.h" +#include "scene/resources/image_texture.h" Error ResourceSaverPNG::save(const Ref &p_resource, const String &p_path, uint32_t p_flags) { Ref texture = p_resource; diff --git a/editor/debugger/editor_profiler.cpp b/editor/debugger/editor_profiler.cpp index 5e677c454ef9..e59fc6186acb 100644 --- a/editor/debugger/editor_profiler.cpp +++ b/editor/debugger/editor_profiler.cpp @@ -33,6 +33,7 @@ #include "core/os/os.h" #include "editor/editor_scale.h" #include "editor/editor_settings.h" +#include "scene/resources/image_texture.h" void EditorProfiler::_make_metric_ptrs(Metric &m) { for (int i = 0; i < m.categories.size(); i++) { diff --git a/editor/debugger/editor_profiler.h b/editor/debugger/editor_profiler.h index eea8ed8365d2..3f7a0cade575 100644 --- a/editor/debugger/editor_profiler.h +++ b/editor/debugger/editor_profiler.h @@ -40,6 +40,8 @@ #include "scene/gui/texture_rect.h" #include "scene/gui/tree.h" +class ImageTexture; + class EditorProfiler : public VBoxContainer { GDCLASS(EditorProfiler, VBoxContainer); diff --git a/editor/debugger/editor_visual_profiler.cpp b/editor/debugger/editor_visual_profiler.cpp index 2ecb029f1a24..984d8e33c55f 100644 --- a/editor/debugger/editor_visual_profiler.cpp +++ b/editor/debugger/editor_visual_profiler.cpp @@ -33,6 +33,7 @@ #include "core/os/os.h" #include "editor/editor_scale.h" #include "editor/editor_settings.h" +#include "scene/resources/image_texture.h" void EditorVisualProfiler::add_frame_metric(const Metric &p_metric) { ++last_metric; diff --git a/editor/debugger/editor_visual_profiler.h b/editor/debugger/editor_visual_profiler.h index 5831e3322dfa..492985506ab4 100644 --- a/editor/debugger/editor_visual_profiler.h +++ b/editor/debugger/editor_visual_profiler.h @@ -41,6 +41,8 @@ #include "scene/gui/texture_rect.h" #include "scene/gui/tree.h" +class ImageTexture; + class EditorVisualProfiler : public VBoxContainer { GDCLASS(EditorVisualProfiler, VBoxContainer); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 358356adf560..0bdbf29ee170 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -60,7 +60,9 @@ #include "scene/gui/tab_container.h" #include "scene/main/window.h" #include "scene/property_utils.h" +#include "scene/resources/image_texture.h" #include "scene/resources/packed_scene.h" +#include "scene/resources/portable_compressed_texture.h" #include "servers/display_server.h" #include "servers/navigation_server_3d.h" #include "servers/physics_server_2d.h" diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp index 4232eacd764b..5170c2fdfbec 100644 --- a/editor/editor_plugin.cpp +++ b/editor/editor_plugin.cpp @@ -51,6 +51,7 @@ #include "editor/scene_tree_dock.h" #include "scene/3d/camera_3d.h" #include "scene/gui/popup_menu.h" +#include "scene/resources/image_texture.h" #include "servers/rendering_server.h" void EditorPlugin::add_custom_type(const String &p_type, const String &p_base, const Ref