From c777fe187d62f8e8f8329f34b076e20d87f69da3 Mon Sep 17 00:00:00 2001 From: Jaremie Romer Date: Sun, 30 Nov 2025 13:01:39 -0600 Subject: [PATCH 1/2] No ccache for assimp --- cmake/FetchDependencies.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmake/FetchDependencies.cmake b/cmake/FetchDependencies.cmake index 5d4d8438b..b6ee7a02a 100644 --- a/cmake/FetchDependencies.cmake +++ b/cmake/FetchDependencies.cmake @@ -93,7 +93,7 @@ set(PROFILER_IN_DEBUG_AND_RELEASE OFF CACHE BOOL "" FORCE) set(ENABLE_INSTALL OFF CACHE BOOL "" FORCE) FetchContent_Declare(JoltPhysics GIT_REPOSITORY https://github.com/jrouwe/JoltPhysics - GIT_TAG v5.3.0 + GIT_TAG 0ec24eb93ad8ebe01f7f095b544af8e122713123 # No release available yet with VS 2026 fixes yet GIT_SHALLOW TRUE SOURCE_SUBDIR "Build" ) @@ -192,6 +192,7 @@ if(NC_BUILD_NCCONVERT) set(ASSIMP_BUILD_FBX_IMPORTER ON CACHE BOOL "" FORCE) set(ASSIMP_BUILD_OBJ_IMPORTER ON CACHE BOOL "" FORCE) set(ASSIMP_INSTALL_PDB OFF CACHE BOOL "" FORCE) + set(ASSIMP_BUILD_USE_CCACHE OFF CACHE BOOL "" FORCE) FetchContent_Declare(assimp GIT_REPOSITORY https://github.com/assimp/assimp From b2e7cffd7993379ffd4798115347df1477b9ec08 Mon Sep 17 00:00:00 2001 From: Jaremie Romer Date: Mon, 1 Dec 2025 06:46:59 -0600 Subject: [PATCH 2/2] Increased tolerance --- .../jolt/SupportFunctions_unit_tests.cpp | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/test/ncengine/physics/jolt/SupportFunctions_unit_tests.cpp b/test/ncengine/physics/jolt/SupportFunctions_unit_tests.cpp index b26980cf8..d7f9bf6ae 100644 --- a/test/ncengine/physics/jolt/SupportFunctions_unit_tests.cpp +++ b/test/ncengine/physics/jolt/SupportFunctions_unit_tests.cpp @@ -279,17 +279,18 @@ TEST_F(SupportFunctionsTest, GetDistanceFromOrigin_CompoundShape_translatedRotat rotation }; - EXPECT_FLOAT_EQ(2.0f, nc::GetWorldSupport(shape, nc::Vector3::Right()).x); - EXPECT_FLOAT_EQ(0.0f, nc::GetWorldSupport(shape, nc::Vector3::Left()).x); - EXPECT_FLOAT_EQ(2.5f, nc::GetWorldSupport(shape, nc::Vector3::Up()).y); - EXPECT_FLOAT_EQ(1.5f, nc::GetWorldSupport(shape, nc::Vector3::Down()).y); - EXPECT_FLOAT_EQ(4.5f, nc::GetWorldSupport(shape, nc::Vector3::Front()).z); - EXPECT_FLOAT_EQ(1.5f, nc::GetWorldSupport(shape, nc::Vector3::Back()).z); - - EXPECT_FLOAT_EQ(1.0f, nc::GetHalfExtent(shape, nc::Vector3::Right())); - EXPECT_FLOAT_EQ(1.0f, nc::GetHalfExtent(shape, nc::Vector3::Left())); - EXPECT_FLOAT_EQ(0.5f, nc::GetHalfExtent(shape, nc::Vector3::Up())); - EXPECT_FLOAT_EQ(0.5f, nc::GetHalfExtent(shape, nc::Vector3::Down())); - EXPECT_FLOAT_EQ(1.5f, nc::GetHalfExtent(shape, nc::Vector3::Front())); - EXPECT_FLOAT_EQ(1.5f, nc::GetHalfExtent(shape, nc::Vector3::Back())); + constexpr auto epsilon = 1e-6f; // Account for floating-point error from quaternion calculations + EXPECT_NEAR(2.0f, nc::GetWorldSupport(shape, nc::Vector3::Right()).x, epsilon); + EXPECT_NEAR(0.0f, nc::GetWorldSupport(shape, nc::Vector3::Left()).x, epsilon); + EXPECT_NEAR(2.5f, nc::GetWorldSupport(shape, nc::Vector3::Up()).y, epsilon); + EXPECT_NEAR(1.5f, nc::GetWorldSupport(shape, nc::Vector3::Down()).y, epsilon); + EXPECT_NEAR(4.5f, nc::GetWorldSupport(shape, nc::Vector3::Front()).z, epsilon); + EXPECT_NEAR(1.5f, nc::GetWorldSupport(shape, nc::Vector3::Back()).z, epsilon); + + EXPECT_NEAR(1.0f, nc::GetHalfExtent(shape, nc::Vector3::Right()), epsilon); + EXPECT_NEAR(1.0f, nc::GetHalfExtent(shape, nc::Vector3::Left()), epsilon); + EXPECT_NEAR(0.5f, nc::GetHalfExtent(shape, nc::Vector3::Up()), epsilon); + EXPECT_NEAR(0.5f, nc::GetHalfExtent(shape, nc::Vector3::Down()), epsilon); + EXPECT_NEAR(1.5f, nc::GetHalfExtent(shape, nc::Vector3::Front()), epsilon); + EXPECT_NEAR(1.5f, nc::GetHalfExtent(shape, nc::Vector3::Back()), epsilon); }