From b8f8b1c18d42a1ebd7817db7cfa5ac91dc04c135 Mon Sep 17 00:00:00 2001 From: Sladoje Date: Mon, 17 Nov 2025 12:30:07 +0100 Subject: [PATCH] test funktioniert --- CMakeLists.txt | 25 ++++++++++++++++++++++--- src/gamecube.cpp | 6 +++--- src/tests.cpp | 12 ++++++------ 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e994073..23a0a16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,9 +17,9 @@ set(SRC_FILES src/gamematrix.cpp ) -#set(INCLUDE_DIRS -# ${CMAKE_CURRENT_LIST_DIR}/linux -#) +set(INCLUDE_DIRS + ${CMAKE_CURRENT_LIST_DIR}/includes +) add_executable(${EXECUTABLE_NAME} ${SRC_FILES}) #target_include_directories(${EXECUTABLE_NAME} PRIVATE ${INCLUDE_DIRS}) @@ -42,3 +42,22 @@ if (APPLE) target_link_libraries(Prog3B "-framework Cocoa") target_link_libraries(Prog3B "-framework OpenGL") endif() + +add_executable(tests + ${CMAKE_CURRENT_LIST_DIR}/src/tests.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/gamematrix.cpp +) +target_include_directories(tests PRIVATE ${INCLUDE_DIRS}) + +target_link_libraries(tests PRIVATE + opengl32 + gdi32 + winmm +) + +if (APPLE) + target_link_libraries(Prog3B PRIVATE "-framework IOKit") + target_link_libraries(Prog3B PRIVATE "-framework Cocoa") + target_link_libraries(Prog3B PRIVATE "-framework OpenGL") +endif() + diff --git a/src/gamecube.cpp b/src/gamecube.cpp index 6848d50..274e6d5 100644 --- a/src/gamecube.cpp +++ b/src/gamecube.cpp @@ -39,11 +39,11 @@ void gamecube::Draw() const rlPushMatrix(); // Matrizen für Rotation und Translation erzeugen - auto matrix_a = gameMatrix::translate({ position.x, position.y, position.z}); - auto matrix_b = gameMatrix::rot3D(rotation, 'y'); + auto matrix_a = Matrix3D::gameMatrix::translate({ position.x, position.y, position.z}); + auto matrix_b = Matrix3D::gameMatrix::rot3D(rotation, 'y'); // Matrizen multiplizieren (Translation * Rotation) - auto model = gameMatrix::matmul(matrix_a, matrix_b); + auto model = Matrix3D::gameMatrix::matmul(matrix_a, matrix_b); // transform for raylib matrix float f[16]; diff --git a/src/tests.cpp b/src/tests.cpp index 3b797cc..8d7561b 100644 --- a/src/tests.cpp +++ b/src/tests.cpp @@ -31,7 +31,7 @@ Vec3 applyMatrix(const Matrix4& M, const Vec3& v) { void testMatmulIdentity() { Matrix4 A = identity(); Matrix4 B = identity(); - Matrix4 C = gameMatrix::matmul(A, B); + Matrix4 C = Matrix3D::gameMatrix::matmul(A, B); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { @@ -48,7 +48,7 @@ void testMatmulIdentity() { void testTranslate() { Vec3 pos{1,2,3}; - Matrix4 T = gameMatrix::translate(pos); + Matrix4 T = Matrix3D::gameMatrix::translate(pos); if (eq(T[0][3], 1) && eq(T[1][3], 2) && eq(T[2][3], 3)) std::cout << "[OK] translate\n"; @@ -58,7 +58,7 @@ void testTranslate() { void testRotZ90() { Vec3 v{1,0,0}; - Matrix4 R = gameMatrix::rot3D(90, 'z'); + Matrix4 R = Matrix3D::gameMatrix::rot3D(90, 'z'); Vec3 r = applyMatrix(R, v); if (eq(r[0], 0) && eq(r[1], 1) && eq(r[2], 0)) @@ -69,7 +69,7 @@ void testRotZ90() { void testRotX180() { Vec3 v{0,1,0}; - Matrix4 R = gameMatrix::rot3D(180, 'x'); + Matrix4 R = Matrix3D::gameMatrix::rot3D(180, 'x'); Vec3 r = applyMatrix(R, v); if (eq(r[0], 0) && eq(r[1], -1) && eq(r[2], 0)) @@ -80,10 +80,10 @@ void testRotX180() { void testRotY270() { Vec3 v{1,0,0}; - Matrix4 R = gameMatrix::rot3D(270, 'y'); + Matrix4 R = Matrix3D::gameMatrix::rot3D(270, 'y'); Vec3 r = applyMatrix(R, v); - if (eq(r[0], 0) && eq(r[1], 0) && eq(r[2], -1)) + if (eq(r[0], 0) && eq(r[1], 0) && eq(r[2], 1)) std::cout << "[OK] rotY 270°\n"; else std::cout << "[FAIL] rotY 270°\n";