feat: 添加Math库和Google Test测试框架

- 新增Math库: Vector2/3/4, Matrix3/4, Quaternion, Transform, Color等
- 新增测试框架: Google Test (gtest)
- 新增140个单元测试,覆盖Vector, Matrix, Quaternion, Geometry
- VolumeRenderer支持vcpkg的NanoVDB
- 添加TESTING.md测试文档
This commit is contained in:
2026-03-13 18:43:14 +08:00
parent 5efa171050
commit 7c54a62f9e
41 changed files with 8530 additions and 1845 deletions

43
engine/CMakeLists.txt Normal file
View File

@@ -0,0 +1,43 @@
cmake_minimum_required(VERSION 3.15)
project(XCEngine)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_library(XCEngine STATIC
include/XCEngine/Math/Math.h
include/XCEngine/Math/Vector2.h
include/XCEngine/Math/Vector3.h
include/XCEngine/Math/Vector4.h
include/XCEngine/Math/Matrix3.h
include/XCEngine/Math/Matrix4.h
include/XCEngine/Math/Quaternion.h
include/XCEngine/Math/Transform.h
include/XCEngine/Math/Color.h
include/XCEngine/Math/Ray.h
include/XCEngine/Math/Plane.h
include/XCEngine/Math/Sphere.h
include/XCEngine/Math/Box.h
include/XCEngine/Math/Bounds.h
include/XCEngine/Math/Frustum.h
include/XCEngine/Math/Rect.h
include/XCEngine/Math/AABB.h
src/Math/Matrix.cpp
src/Math/Quaternion.cpp
src/Math/Transform.cpp
src/Math/Color.cpp
src/Math/Geometry.cpp
src/Math/FrustumBounds.cpp
)
target_include_directories(XCEngine PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine
${CMAKE_CURRENT_SOURCE_DIR}/src
)
if(MSVC)
target_compile_options(XCEngine PRIVATE /W3)
else()
target_compile_options(XCEngine PRIVATE -Wall)
endif()