添加windows构建适配,禁用ImGui多视口功能

This commit is contained in:
2026-10-02 21:53:26 +08:00
parent b0d5ed4550
commit 56bb31638e
4 changed files with 614 additions and 603 deletions
+1 -7
View File
@@ -44,7 +44,7 @@ namespace
{
public:
SandboxApp()
: Application("HelloVulkan", 800, 600)
: Application("HelloVulkan", 1920, 1080)
{
}
@@ -287,10 +287,6 @@ namespace
EntityHandle m_Gun{}; // 骨骼动画验证实体(M1911)
std::vector<EntityHandle> m_Spinners;
int m_EnvIndex = kDefaultEnv;
// ---- 异步模型加载(SunTemple)----
AsyncTask<ParsedModel> m_TempleTask;
f32 m_TempleScale = 1.0f; // cm 尺度资产 → 米(解析后应用)
};
}
@@ -313,8 +309,6 @@ int main()
}
} // app 析构:成员(Device/Renderer/Window…)全部销毁完毕
// 日志必须最后关:Device 析构期间 Vulkan validation 回调仍在
// 打日志(销毁资源时报 VUID),logger 先亡 = 悬空调用 SIGSEGV
Logger::Shutdown();
return 0;
}
+8
View File
@@ -17,6 +17,9 @@ set(MESHOPT_INSTALL OFF CACHE BOOL "" FORCE)
add_subdirectory(Lib/meshoptimizer)
# ---- Jolt Physics(submodule v5.6,刚体/软体/角色/载具模拟)----
if(MSVC)
set(USE_STATIC_MSVC_RUNTIME_LIBRARY OFF CACHE BOOL "" FORCE)
endif ()
# 顶层 CMake 在 Build/ 子目录;只编 jolt 静态库,示例/测试目标默认全关
set(JPH_BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
set(INTERPROCEDURAL_OPTIMIZATION OFF CACHE BOOL "" FORCE) # LTO 拖慢开发迭代
@@ -61,6 +64,11 @@ add_subdirectory(Lib/assimp)
# Vulkan
find_package(Vulkan REQUIRED)
if(MINGW)
set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -Wl,-Bdynamic -lucrt")
endif()
# Engine 和 App
add_subdirectory(Engine)
add_subdirectory(App)
+10 -1
View File
@@ -26,7 +26,16 @@ target_compile_definitions(tracy PUBLIC
# 程序启动连接,没有这个宏宣告消息被丢弃,GPU 时间线永远空白
TRACY_ON_DEMAND)
find_package(Threads REQUIRED)
target_link_libraries(tracy PUBLIC Threads::Threads)
if(WIN32)
target_link_libraries(tracy PUBLIC
Threads::Threads
ws2_32
dbghelp
secur32)
else()
target_link_libraries(tracy PUBLIC Threads::Threads)
endif()
# ============ Engine ============
+1 -1
View File
@@ -55,7 +55,7 @@ namespace Engine {
ImGuiIO& io = ImGui::GetIO();
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;
io.ConfigFlags |= ImGuiConfigFlags_DockingEnable; // docking 分支
io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // 多视口
// io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // 多视口
ImGui_ImplGlfw_InitForVulkan(window.GetHandle(), true);