feat: 实现D3D12 RHI抽象层,修复PSO创建问题
- 添加RHI接口定义(IRHIDevice, ICommandList, IResource等) - 实现D3D12Device, D3D12CommandList, D3D12PipelineState等 - 修复RootSignature参数数量(3->4)与HelloEarth一致 - 修复DSV格式设置(Unknown->D24_UNorm_S8_UInt) - 添加Geometry Shader编译 - 创建XCEngineDemo项目验证RHI功能
This commit is contained in:
@@ -1,56 +1,10 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(XCVolumeRenderer VERSION 1.0 LANGUAGES CXX)
|
||||
project(XCEngine)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||
|
||||
set(SOURCES
|
||||
main.cpp
|
||||
BattleFireDirect.cpp
|
||||
StaticMeshComponent.cpp
|
||||
Utils.cpp
|
||||
stbi/stb_image.cpp
|
||||
NanoVDBLoader.cpp
|
||||
)
|
||||
|
||||
set(HEADERS
|
||||
BattleFireDirect.h
|
||||
StaticMeshComponent.h
|
||||
Utils.h
|
||||
stbi/stb_image.h
|
||||
)
|
||||
|
||||
add_executable(${PROJECT_NAME} WIN32 ${SOURCES} ${HEADERS})
|
||||
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE UNICODE _UNICODE)
|
||||
target_compile_options(${PROJECT_NAME} PRIVATE /utf-8 /MT)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE
|
||||
${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE
|
||||
d3d12.lib
|
||||
dxgi.lib
|
||||
d3dcompiler.lib
|
||||
winmm.lib
|
||||
kernel32.lib
|
||||
user32.lib
|
||||
)
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE _DEBUG)
|
||||
else()
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE NDEBUG)
|
||||
endif()
|
||||
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
)
|
||||
|
||||
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
${CMAKE_SOURCE_DIR}/Res
|
||||
$<TARGET_FILE_DIR:${PROJECT_NAME}>/Res
|
||||
)
|
||||
add_subdirectory(engine)
|
||||
add_subdirectory(mvs/XCEngineDemo)
|
||||
add_subdirectory(mvs/HelloEarth)
|
||||
add_subdirectory(test)
|
||||
|
||||
Reference in New Issue
Block a user