From a051f6da4c7efa9a23aeb453366b9012145be1e7 Mon Sep 17 00:00:00 2001 From: SepComet <202308010230@stu.csust.edu.cn> Date: Sat, 6 Jun 2026 17:31:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E6=96=87=E4=BB=B6=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E7=9B=AE=E5=BD=95=EF=BC=8CGfx=20=E9=87=8C=E6=94=BE?= =?UTF-8?q?=E5=BA=95=E5=B1=82=E5=9B=BE=E5=BD=A2=E5=BA=93=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=87=BD=E6=95=B0=EF=BC=8CApps=20=E6=94=BE=E4=B8=8A=E5=B1=82?= =?UTF-8?q?=E7=9A=84=E5=BA=94=E7=94=A8=EF=BC=88=E5=90=AF=E5=8A=A8=E5=99=A8?= =?UTF-8?q?=E3=80=81=E6=B8=B8=E6=88=8F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 38 +++++++++---------- README.md | 10 ++--- src/{ => Apps/Demo}/Cube.h | 0 src/{ => Apps/Demo}/main.cpp | 0 src/{ => Gfx}/Asset/ObjLoader.cpp | 0 src/{ => Gfx}/Asset/ObjLoader.h | 0 src/{ => Gfx}/Core/DepthBuffer.cpp | 0 src/{ => Gfx}/Core/DepthBuffer.h | 0 src/{ => Gfx}/Core/FrameBuffer.cpp | 0 src/{ => Gfx}/Core/FrameBuffer.h | 0 src/{ => Gfx}/Core/Renderer.cpp | 0 src/{ => Gfx}/Core/Renderer.h | 0 src/{ => Gfx}/Math/MathUtil.h | 0 src/{ => Gfx}/Math/Matrix4x4.h | 0 src/{ => Gfx}/Math/Vector2.h | 0 src/{ => Gfx}/Math/Vector3.h | 0 src/{ => Gfx}/Math/Vector4.h | 0 src/{ => Gfx}/Platform/Display.h | 0 src/{ => Gfx}/Platform/FBDisplay.cpp | 0 src/{ => Gfx}/Platform/FBDisplay.h | 0 src/{ => Gfx}/Platform/SDLDisplay.cpp | 0 src/{ => Gfx}/Platform/SDLDisplay.h | 0 src/{ => Gfx}/Rasterizer/Rasterizer.cpp | 0 src/{ => Gfx}/Rasterizer/Rasterizer.h | 0 .../Rasterizer/TriangleRasterizer.cpp | 0 src/{ => Gfx}/Rasterizer/TriangleRasterizer.h | 0 src/{ => Gfx}/RenderData/BoundingBox.h | 0 src/{ => Gfx}/RenderData/Color.h | 0 src/{ => Gfx}/RenderData/Triangle.h | 0 src/{ => Gfx}/Scene/Camera.cpp | 0 src/{ => Gfx}/Scene/Camera.h | 0 src/{ => Gfx}/Scene/Mesh.h | 0 src/{ => Gfx}/Scene/Model.h | 0 src/{ => Gfx}/Scene/Transform.h | 0 src/{ => Gfx}/Scene/Vertex.h | 0 src/{ => Gfx}/Shading/BlinnPhongShader.cpp | 0 src/{ => Gfx}/Shading/BlinnPhongShader.h | 0 src/{ => Gfx}/Shading/ShaderTypes.h | 0 38 files changed, 24 insertions(+), 24 deletions(-) rename src/{ => Apps/Demo}/Cube.h (100%) rename src/{ => Apps/Demo}/main.cpp (100%) rename src/{ => Gfx}/Asset/ObjLoader.cpp (100%) rename src/{ => Gfx}/Asset/ObjLoader.h (100%) rename src/{ => Gfx}/Core/DepthBuffer.cpp (100%) rename src/{ => Gfx}/Core/DepthBuffer.h (100%) rename src/{ => Gfx}/Core/FrameBuffer.cpp (100%) rename src/{ => Gfx}/Core/FrameBuffer.h (100%) rename src/{ => Gfx}/Core/Renderer.cpp (100%) rename src/{ => Gfx}/Core/Renderer.h (100%) rename src/{ => Gfx}/Math/MathUtil.h (100%) rename src/{ => Gfx}/Math/Matrix4x4.h (100%) rename src/{ => Gfx}/Math/Vector2.h (100%) rename src/{ => Gfx}/Math/Vector3.h (100%) rename src/{ => Gfx}/Math/Vector4.h (100%) rename src/{ => Gfx}/Platform/Display.h (100%) rename src/{ => Gfx}/Platform/FBDisplay.cpp (100%) rename src/{ => Gfx}/Platform/FBDisplay.h (100%) rename src/{ => Gfx}/Platform/SDLDisplay.cpp (100%) rename src/{ => Gfx}/Platform/SDLDisplay.h (100%) rename src/{ => Gfx}/Rasterizer/Rasterizer.cpp (100%) rename src/{ => Gfx}/Rasterizer/Rasterizer.h (100%) rename src/{ => Gfx}/Rasterizer/TriangleRasterizer.cpp (100%) rename src/{ => Gfx}/Rasterizer/TriangleRasterizer.h (100%) rename src/{ => Gfx}/RenderData/BoundingBox.h (100%) rename src/{ => Gfx}/RenderData/Color.h (100%) rename src/{ => Gfx}/RenderData/Triangle.h (100%) rename src/{ => Gfx}/Scene/Camera.cpp (100%) rename src/{ => Gfx}/Scene/Camera.h (100%) rename src/{ => Gfx}/Scene/Mesh.h (100%) rename src/{ => Gfx}/Scene/Model.h (100%) rename src/{ => Gfx}/Scene/Transform.h (100%) rename src/{ => Gfx}/Scene/Vertex.h (100%) rename src/{ => Gfx}/Shading/BlinnPhongShader.cpp (100%) rename src/{ => Gfx}/Shading/BlinnPhongShader.h (100%) rename src/{ => Gfx}/Shading/ShaderTypes.h (100%) 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