# GraphicsEngine **Repository Path**: sttplay/GraphicsEngine ## Basic Information - **Project Name**: GraphicsEngine - **Description**: No description available - **Primary Language**: C++ - **License**: LGPL-2.1 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-20 - **Last Updated**: 2026-09-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GraphicsEngine 源码已经按职责拆成三个可独立配置、构建和打开的 CMake 项目: | 配置 | 内容 | 生成的解决方案 | | --- | --- | --- | | `GraphicsCore` | `vkcore`、`xrenderer`、`xlog` 及内部依赖 | `GraphicsCore.sln` | | `GraphicsCoreMini` | 引入 `GraphicsCore`,并生成 `libgraphics` 和控制台 `testapi` | `GraphicsCoreMini.sln` | | `GraphicsEngine` | 引入 `GraphicsCore`,并生成媒体库、FrameArc 和测试项目;不包含 `GraphicsCoreMini` | `GraphicsEngine.sln` | 目录边界如下: ```text GraphicsCore/ vkcore、xrenderer、xlog 和 Core 内部依赖 GraphicsCoreMini/ libgraphics 和公开接口控制台测试 GraphicsEngine/ 媒体库、FrameArc、测试、测试资源和 Android 工程 ``` 仓库根目录的 `CMakeLists.txt` 继续保留 `GRAPHICS_PROJECT` 兼容入口;日常开发建议直接使用下面三个真实源码入口。 ## Windows 生成 下面使用本机的 `windows-deps-x86_64` 路径生成三个互不干扰的构建目录: ```powershell $deps = "E:/WorkSpace/Github/vulkan/windows-deps-x86_64" $vulkanSdk = $env:VULKAN_SDK cmake -S GraphicsCore -B build/graphics-core -G "Visual Studio 16 2019" -A x64 ` -DDEPS_DIR="$deps" -DVULKAN_SDK_DIR="$vulkanSdk" cmake -S GraphicsCoreMini -B build/graphics-core-mini -G "Visual Studio 16 2019" -A x64 ` -DDEPS_DIR="$deps" -DVULKAN_SDK_DIR="$vulkanSdk" cmake -S GraphicsEngine -B build/graphics-engine -G "Visual Studio 16 2019" -A x64 ` -DDEPS_DIR="$deps" -DVULKAN_SDK_DIR="$vulkanSdk" ``` 分别打开: - `build/graphics-core/GraphicsCore.sln` - `build/graphics-core-mini/GraphicsCoreMini.sln` - `build/graphics-engine/GraphicsEngine.sln` 使用 Visual Studio 2022 时,将生成器替换为 `Visual Studio 17 2022`。 ## SDK 安装边界 `GraphicsCore` 只导出 `GraphicsCore::xrenderer`,不依赖 Qt 或 SDL。日志接口来自 xtools 提供的独立目标 `xtools::xlog`;GraphicsCore 不再重复安装 `xlog/xlog.h` 或 xlog 库,使用安装包时需要让 CMake 能找到 xtools。日志创建扩展直接声明在 `xrenderer.h` 中,不新增或安装 `xrenderer_log.h`,也不安装 vkcore、GLM、volk、生成的 `vk_config.h` 或其他内部头文件。共享构建仍会安装运行所需的 `vkcore` 动态库。SDL 输入到 xrenderer 标准输入事件的转换属于 `GraphicsEngine`。 ```powershell cmake --build build/graphics-core --config Release cmake --install build/graphics-core --config Release --prefix build/sdk/GraphicsCore ``` 外部项目通过导出的 CMake 包使用核心库: ```cmake find_package(GraphicsCore CONFIG REQUIRED) target_link_libraries(app PRIVATE GraphicsCore::xrenderer) ``` `GraphicsCoreMini` 同时安装 `GraphicsCore` 和 `libgraphics`,其外部目标为 `GraphicsCoreMini::libgraphics`: ```cmake find_package(GraphicsCoreMini CONFIG REQUIRED) target_link_libraries(app PRIVATE GraphicsCoreMini::libgraphics) ```