From ea081b9dd345fa31dc417ed22e486d5167393c60 Mon Sep 17 00:00:00 2001 From: ChestnutYueyue <952134128@qq.com> Date: Fri, 27 Feb 2026 19:12:24 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=E5=9B=BE?= =?UTF-8?q?=E5=BD=A2=E6=B8=B2=E6=9F=93=E5=92=8C=E5=9C=BA=E6=99=AF=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除不再需要的图形渲染、纹理、字体、场景管理等模块代码,清理相关头文件引用。主要变更包括: - 删除renderer、graphics、scene目录下的大部分文件 - 清理extra2d.h中的冗余头文件引用 - 简化Application类,移除渲染和场景管理相关功能 --- include/app/application.h | 40 +- include/audio/audio_engine.h | 46 +- include/extra2d.h | 22 +- include/graphics/alpha_mask.h | 50 - include/graphics/font.h | 51 - include/graphics/gpu_context.h | 36 - include/graphics/opengl/gl_font_atlas.h | 68 -- include/graphics/opengl/gl_renderer.h | 131 --- include/graphics/opengl/gl_shader.h | 55 -- include/graphics/opengl/gl_sprite_batch.h | 97 -- include/graphics/opengl/gl_texture.h | 78 -- include/graphics/texture.h | 64 -- include/graphics/vram_manager.h | 62 -- include/renderer/camera.h | 95 -- include/renderer/render_command.h | 226 ----- include/renderer/render_target.h | 333 ------- include/renderer/renderer.h | 140 --- include/resource/resource_manager.h | 362 ------- include/scene/node.h | 239 ----- include/scene/scene.h | 84 -- include/scene/scene_manager.h | 105 -- include/scene/shape.h | 104 -- include/scene/sprite.h | 55 -- src/app/application.cpp | 135 +-- src/graphics/alpha_mask.cpp | 55 -- src/graphics/gpu_context.cpp | 22 - src/graphics/opengl/gl_font_atlas.cpp | 330 ------- src/graphics/opengl/gl_renderer.cpp | 674 ------------- src/graphics/opengl/gl_shader.cpp | 129 --- src/graphics/opengl/gl_sprite_batch.cpp | 363 ------- src/graphics/opengl/gl_texture.cpp | 463 --------- src/graphics/vram_manager.cpp | 113 --- src/renderer/camera.cpp | 158 --- src/renderer/render_backend.cpp | 15 - src/renderer/render_command.cpp | 169 ---- src/renderer/render_target.cpp | 586 ------------ src/resource/resource_manager.cpp | 1065 --------------------- src/scene/node.cpp | 422 -------- src/scene/scene.cpp | 73 -- src/scene/scene_manager.cpp | 364 ------- src/scene/shape_node.cpp | 340 ------- src/scene/sprite.cpp | 163 ---- 42 files changed, 31 insertions(+), 8151 deletions(-) delete mode 100644 include/graphics/alpha_mask.h delete mode 100644 include/graphics/font.h delete mode 100644 include/graphics/gpu_context.h delete mode 100644 include/graphics/opengl/gl_font_atlas.h delete mode 100644 include/graphics/opengl/gl_renderer.h delete mode 100644 include/graphics/opengl/gl_shader.h delete mode 100644 include/graphics/opengl/gl_sprite_batch.h delete mode 100644 include/graphics/opengl/gl_texture.h delete mode 100644 include/graphics/texture.h delete mode 100644 include/graphics/vram_manager.h delete mode 100644 include/renderer/camera.h delete mode 100644 include/renderer/render_command.h delete mode 100644 include/renderer/render_target.h delete mode 100644 include/renderer/renderer.h delete mode 100644 include/resource/resource_manager.h delete mode 100644 include/scene/node.h delete mode 100644 include/scene/scene.h delete mode 100644 include/scene/scene_manager.h delete mode 100644 include/scene/shape.h delete mode 100644 include/scene/sprite.h delete mode 100644 src/graphics/alpha_mask.cpp delete mode 100644 src/graphics/gpu_context.cpp delete mode 100644 src/graphics/opengl/gl_font_atlas.cpp delete mode 100644 src/graphics/opengl/gl_renderer.cpp delete mode 100644 src/graphics/opengl/gl_shader.cpp delete mode 100644 src/graphics/opengl/gl_sprite_batch.cpp delete mode 100644 src/graphics/opengl/gl_texture.cpp delete mode 100644 src/graphics/vram_manager.cpp delete mode 100644 src/renderer/camera.cpp delete mode 100644 src/renderer/render_backend.cpp delete mode 100644 src/renderer/render_command.cpp delete mode 100644 src/renderer/render_target.cpp delete mode 100644 src/resource/resource_manager.cpp delete mode 100644 src/scene/node.cpp delete mode 100644 src/scene/scene.cpp delete mode 100644 src/scene/scene_manager.cpp delete mode 100644 src/scene/shape_node.cpp delete mode 100644 src/scene/sprite.cpp diff --git a/include/app/application.h b/include/app/application.h index b03e658..56c953e 100644 --- a/include/app/application.h +++ b/include/app/application.h @@ -2,7 +2,6 @@ #include #include -#include #include #include @@ -11,12 +10,9 @@ namespace extra2d { // 前向声明 class Input; class AudioEngine; -class SceneManager; -class ResourceManager; class TimerManager; class EventQueue; class EventDispatcher; -class Camera; // ============================================================================ // Application 配置 @@ -32,12 +28,10 @@ struct AppConfig { bool resizable = true; bool vsync = true; int fpsLimit = 0; - BackendType Renderer = BackendType::OpenGL; int msaaSamples = 0; PlatformType platform = PlatformType::Auto; - // 窗口高级配置 - bool enableCursors = true; // 是否启用光标 - bool enableDpiScale = false; // 是否启用DPI缩放 + bool enableCursors = true; + bool enableDpiScale = false; }; // ============================================================================ @@ -45,53 +39,32 @@ struct AppConfig { // ============================================================================ class Application { public: - // Meyer's 单例 static Application &instance(); - // 禁止拷贝 Application(const Application &) = delete; Application &operator=(const Application &) = delete; - // ------------------------------------------------------------------------ - // 生命周期 - // ------------------------------------------------------------------------ bool init(const AppConfig &config); void shutdown(); void run(); void quit(); - // ------------------------------------------------------------------------ - // 状态控制 - // ------------------------------------------------------------------------ void pause(); void resume(); bool isPaused() const { return paused_; } bool isRunning() const { return running_; } - // ------------------------------------------------------------------------ - // 子系统访问 - // ------------------------------------------------------------------------ Window &window() { return *window_; } - Renderer &renderer() { return *renderer_; } Input &input(); AudioEngine &audio(); - SceneManager &scenes(); - ResourceManager &resources(); TimerManager &timers(); EventQueue &eventQueue(); EventDispatcher &eventDispatcher(); - Camera &camera(); - - // ------------------------------------------------------------------------ - // 便捷方法 - // ------------------------------------------------------------------------ - void enterScene(IntrusivePtr scene); float deltaTime() const { return deltaTime_; } float totalTime() const { return totalTime_; } int fps() const { return currentFps_; } - // 获取配置 const AppConfig &getConfig() const { return config_; } private: @@ -100,28 +73,19 @@ private: void mainLoop(); void update(); - void render(); - // 配置 AppConfig config_; - // 子系统 UniquePtr window_; - UniquePtr renderer_; - UniquePtr sceneManager_; - UniquePtr resourceManager_; UniquePtr timerManager_; UniquePtr eventQueue_; UniquePtr eventDispatcher_; - UniquePtr camera_; - // 状态 bool initialized_ = false; bool running_ = false; bool paused_ = false; bool shouldQuit_ = false; - // 时间 float deltaTime_ = 0.0f; float totalTime_ = 0.0f; double lastFrameTime_ = 0.0; diff --git a/include/audio/audio_engine.h b/include/audio/audio_engine.h index 8da0ec4..2230c73 100644 --- a/include/audio/audio_engine.h +++ b/include/audio/audio_engine.h @@ -1,7 +1,6 @@ #pragma once #include -#include #include #include @@ -11,37 +10,38 @@ class Sound; class AudioEngine { public: - static AudioEngine& getInstance(); + static AudioEngine &getInstance(); - AudioEngine(const AudioEngine&) = delete; - AudioEngine& operator=(const AudioEngine&) = delete; - AudioEngine(AudioEngine&&) = delete; - AudioEngine& operator=(AudioEngine&&) = delete; + AudioEngine(const AudioEngine &) = delete; + AudioEngine &operator=(const AudioEngine &) = delete; + AudioEngine(AudioEngine &&) = delete; + AudioEngine &operator=(AudioEngine &&) = delete; - bool initialize(); - void shutdown(); + bool initialize(); + void shutdown(); - IntrusivePtr loadSound(const std::string& filePath); - IntrusivePtr loadSound(const std::string& name, const std::string& filePath); + IntrusivePtr loadSound(const std::string &filePath); + IntrusivePtr loadSound(const std::string &name, + const std::string &filePath); - IntrusivePtr getSound(const std::string& name); - void unloadSound(const std::string& name); - void unloadAllSounds(); + IntrusivePtr getSound(const std::string &name); + void unloadSound(const std::string &name); + void unloadAllSounds(); - void setMasterVolume(float volume); - float getMasterVolume() const; + void setMasterVolume(float volume); + float getMasterVolume() const; - void pauseAll(); - void resumeAll(); - void stopAll(); + void pauseAll(); + void resumeAll(); + void stopAll(); private: - AudioEngine() = default; - ~AudioEngine(); + AudioEngine() = default; + ~AudioEngine(); - std::unordered_map> sounds_; - float masterVolume_ = 1.0f; - bool initialized_ = false; + std::unordered_map> sounds_; + float masterVolume_ = 1.0f; + bool initialized_ = false; }; } // namespace extra2d diff --git a/include/extra2d.h b/include/extra2d.h index c1eab85..cce5229 100644 --- a/include/extra2d.h +++ b/include/extra2d.h @@ -16,23 +16,6 @@ #include #include -// Graphics -#include -#include -#include - -// Renderer -#include -#include -#include - -// Scene -#include -#include -#include -#include -#include - // Event #include #include @@ -43,9 +26,6 @@ #include