diff --git a/CMakeLists.txt b/CMakeLists.txt index 74a7ead..959a581 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,34 +7,34 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) option(USE_FRAMEBUFFER "Use Linux framebuffer instead of SDL2" OFF) set(SOURCES - src/main.cpp - src/Asset/ObjLoader.cpp - src/Core/DepthBuffer.cpp - src/Core/FrameBuffer.cpp - src/Core/Renderer.cpp - src/Rasterizer/Rasterizer.cpp - src/Rasterizer/TriangleRasterizer.cpp - src/Scene/Camera.cpp - src/Shading/BlinnPhongShader.cpp + src/Apps/Demo/main.cpp + src/Gfx/Asset/ObjLoader.cpp + src/Gfx/Core/DepthBuffer.cpp + src/Gfx/Core/FrameBuffer.cpp + src/Gfx/Core/Renderer.cpp + src/Gfx/Rasterizer/Rasterizer.cpp + src/Gfx/Rasterizer/TriangleRasterizer.cpp + src/Gfx/Scene/Camera.cpp + src/Gfx/Shading/BlinnPhongShader.cpp ) if(USE_FRAMEBUFFER) - list(APPEND SOURCES src/Platform/FBDisplay.cpp) + list(APPEND SOURCES src/Gfx/Platform/FBDisplay.cpp) else() - list(APPEND SOURCES src/Platform/SDLDisplay.cpp) + list(APPEND SOURCES src/Gfx/Platform/SDLDisplay.cpp) endif() add_executable(IMX6U-Game ${SOURCES}) target_include_directories(IMX6U-Game PRIVATE - src/Platform - src/Asset - src/Core - src/Math - src/Rasterizer - src/RenderData - src/Scene - src/Shading + src/Gfx/Platform + src/Gfx/Asset + src/Gfx/Core + src/Gfx/Math + src/Gfx/Rasterizer + src/Gfx/RenderData + src/Gfx/Scene + src/Gfx/Shading ) if(USE_FRAMEBUFFER) diff --git a/README.md b/README.md index a20c158..2b2969b 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ 本项目支持三套编译目标,分别对应开发流程的不同阶段: -| 目标平台 | 显示后端 | 验证目的 | -|-------------------|-----------------|---------------------------------| -| Windows (x86/x64) | SDL2 窗口 | 验证渲染逻辑、算法正确性、快速迭代调试 | -| Linux x86_64 | SDL2 窗口 | 验证 Linux 兼容性、CMake 构建、SDL2 系统依赖 | -| ARM Linux (交叉编译) | SDL2 或 `/dev/fb0` | 最终在 IMX6U 开发板上运行的版本;优先目标以后续实际部署后端为准 | +| 目标平台 | 显示后端 | 验证目的 | +|-------------------|-------------------|-------------------------------------| +| Windows (x86/x64) | SDL2 窗口 | 验证渲染逻辑、算法正确性、快速迭代调试 | +| Linux x86_64 | SDL2 窗口 | 验证 Linux 兼容性、CMake 构建、SDL2 系统依赖 | +| ARM Linux (交叉编译) | SDL2 或 `/dev/fb0` | 最终在 IMX6U 开发板上运行的版本;优先目标以后续实际部署后端为准 | **为什么分三套?** diff --git a/src/Cube.h b/src/Apps/Demo/Cube.h similarity index 100% rename from src/Cube.h rename to src/Apps/Demo/Cube.h diff --git a/src/main.cpp b/src/Apps/Demo/main.cpp similarity index 100% rename from src/main.cpp rename to src/Apps/Demo/main.cpp diff --git a/src/Asset/ObjLoader.cpp b/src/Gfx/Asset/ObjLoader.cpp similarity index 100% rename from src/Asset/ObjLoader.cpp rename to src/Gfx/Asset/ObjLoader.cpp diff --git a/src/Asset/ObjLoader.h b/src/Gfx/Asset/ObjLoader.h similarity index 100% rename from src/Asset/ObjLoader.h rename to src/Gfx/Asset/ObjLoader.h diff --git a/src/Core/DepthBuffer.cpp b/src/Gfx/Core/DepthBuffer.cpp similarity index 100% rename from src/Core/DepthBuffer.cpp rename to src/Gfx/Core/DepthBuffer.cpp diff --git a/src/Core/DepthBuffer.h b/src/Gfx/Core/DepthBuffer.h similarity index 100% rename from src/Core/DepthBuffer.h rename to src/Gfx/Core/DepthBuffer.h diff --git a/src/Core/FrameBuffer.cpp b/src/Gfx/Core/FrameBuffer.cpp similarity index 100% rename from src/Core/FrameBuffer.cpp rename to src/Gfx/Core/FrameBuffer.cpp diff --git a/src/Core/FrameBuffer.h b/src/Gfx/Core/FrameBuffer.h similarity index 100% rename from src/Core/FrameBuffer.h rename to src/Gfx/Core/FrameBuffer.h diff --git a/src/Core/Renderer.cpp b/src/Gfx/Core/Renderer.cpp similarity index 100% rename from src/Core/Renderer.cpp rename to src/Gfx/Core/Renderer.cpp diff --git a/src/Core/Renderer.h b/src/Gfx/Core/Renderer.h similarity index 100% rename from src/Core/Renderer.h rename to src/Gfx/Core/Renderer.h diff --git a/src/Math/MathUtil.h b/src/Gfx/Math/MathUtil.h similarity index 100% rename from src/Math/MathUtil.h rename to src/Gfx/Math/MathUtil.h diff --git a/src/Math/Matrix4x4.h b/src/Gfx/Math/Matrix4x4.h similarity index 100% rename from src/Math/Matrix4x4.h rename to src/Gfx/Math/Matrix4x4.h diff --git a/src/Math/Vector2.h b/src/Gfx/Math/Vector2.h similarity index 100% rename from src/Math/Vector2.h rename to src/Gfx/Math/Vector2.h diff --git a/src/Math/Vector3.h b/src/Gfx/Math/Vector3.h similarity index 100% rename from src/Math/Vector3.h rename to src/Gfx/Math/Vector3.h diff --git a/src/Math/Vector4.h b/src/Gfx/Math/Vector4.h similarity index 100% rename from src/Math/Vector4.h rename to src/Gfx/Math/Vector4.h diff --git a/src/Platform/Display.h b/src/Gfx/Platform/Display.h similarity index 100% rename from src/Platform/Display.h rename to src/Gfx/Platform/Display.h diff --git a/src/Platform/FBDisplay.cpp b/src/Gfx/Platform/FBDisplay.cpp similarity index 100% rename from src/Platform/FBDisplay.cpp rename to src/Gfx/Platform/FBDisplay.cpp diff --git a/src/Platform/FBDisplay.h b/src/Gfx/Platform/FBDisplay.h similarity index 100% rename from src/Platform/FBDisplay.h rename to src/Gfx/Platform/FBDisplay.h diff --git a/src/Platform/SDLDisplay.cpp b/src/Gfx/Platform/SDLDisplay.cpp similarity index 100% rename from src/Platform/SDLDisplay.cpp rename to src/Gfx/Platform/SDLDisplay.cpp diff --git a/src/Platform/SDLDisplay.h b/src/Gfx/Platform/SDLDisplay.h similarity index 100% rename from src/Platform/SDLDisplay.h rename to src/Gfx/Platform/SDLDisplay.h diff --git a/src/Rasterizer/Rasterizer.cpp b/src/Gfx/Rasterizer/Rasterizer.cpp similarity index 100% rename from src/Rasterizer/Rasterizer.cpp rename to src/Gfx/Rasterizer/Rasterizer.cpp diff --git a/src/Rasterizer/Rasterizer.h b/src/Gfx/Rasterizer/Rasterizer.h similarity index 100% rename from src/Rasterizer/Rasterizer.h rename to src/Gfx/Rasterizer/Rasterizer.h diff --git a/src/Rasterizer/TriangleRasterizer.cpp b/src/Gfx/Rasterizer/TriangleRasterizer.cpp similarity index 100% rename from src/Rasterizer/TriangleRasterizer.cpp rename to src/Gfx/Rasterizer/TriangleRasterizer.cpp diff --git a/src/Rasterizer/TriangleRasterizer.h b/src/Gfx/Rasterizer/TriangleRasterizer.h similarity index 100% rename from src/Rasterizer/TriangleRasterizer.h rename to src/Gfx/Rasterizer/TriangleRasterizer.h diff --git a/src/RenderData/BoundingBox.h b/src/Gfx/RenderData/BoundingBox.h similarity index 100% rename from src/RenderData/BoundingBox.h rename to src/Gfx/RenderData/BoundingBox.h diff --git a/src/RenderData/Color.h b/src/Gfx/RenderData/Color.h similarity index 100% rename from src/RenderData/Color.h rename to src/Gfx/RenderData/Color.h diff --git a/src/RenderData/Triangle.h b/src/Gfx/RenderData/Triangle.h similarity index 100% rename from src/RenderData/Triangle.h rename to src/Gfx/RenderData/Triangle.h diff --git a/src/Scene/Camera.cpp b/src/Gfx/Scene/Camera.cpp similarity index 100% rename from src/Scene/Camera.cpp rename to src/Gfx/Scene/Camera.cpp diff --git a/src/Scene/Camera.h b/src/Gfx/Scene/Camera.h similarity index 100% rename from src/Scene/Camera.h rename to src/Gfx/Scene/Camera.h diff --git a/src/Scene/Mesh.h b/src/Gfx/Scene/Mesh.h similarity index 100% rename from src/Scene/Mesh.h rename to src/Gfx/Scene/Mesh.h diff --git a/src/Scene/Model.h b/src/Gfx/Scene/Model.h similarity index 100% rename from src/Scene/Model.h rename to src/Gfx/Scene/Model.h diff --git a/src/Scene/Transform.h b/src/Gfx/Scene/Transform.h similarity index 100% rename from src/Scene/Transform.h rename to src/Gfx/Scene/Transform.h diff --git a/src/Scene/Vertex.h b/src/Gfx/Scene/Vertex.h similarity index 100% rename from src/Scene/Vertex.h rename to src/Gfx/Scene/Vertex.h diff --git a/src/Shading/BlinnPhongShader.cpp b/src/Gfx/Shading/BlinnPhongShader.cpp similarity index 100% rename from src/Shading/BlinnPhongShader.cpp rename to src/Gfx/Shading/BlinnPhongShader.cpp diff --git a/src/Shading/BlinnPhongShader.h b/src/Gfx/Shading/BlinnPhongShader.h similarity index 100% rename from src/Shading/BlinnPhongShader.h rename to src/Gfx/Shading/BlinnPhongShader.h diff --git a/src/Shading/ShaderTypes.h b/src/Gfx/Shading/ShaderTypes.h similarity index 100% rename from src/Shading/ShaderTypes.h rename to src/Gfx/Shading/ShaderTypes.h