mirror of
https://github.com/orange-cpp/omath.git
synced 2026-04-18 19:23:26 +00:00
Compare commits
3 Commits
eb1ca6055b
...
308f7ed481
| Author | SHA1 | Date | |
|---|---|---|---|
| 308f7ed481 | |||
| 8802ad9af1 | |||
| 2ac508d6e8 |
7
.claude/settings.local.json
Normal file
7
.claude/settings.local.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"permissions": {
|
||||||
|
"allow": [
|
||||||
|
"Bash(ls:*)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,8 @@
|
|||||||
//
|
//
|
||||||
#ifdef OMATH_ENABLE_LUA
|
#ifdef OMATH_ENABLE_LUA
|
||||||
#include "omath/lua/lua.hpp"
|
#include "omath/lua/lua.hpp"
|
||||||
|
#include "omath/omath.hpp"
|
||||||
|
#include "omath/projection/error_codes.hpp"
|
||||||
#include <omath/engines/cry_engine/camera.hpp>
|
#include <omath/engines/cry_engine/camera.hpp>
|
||||||
#include <omath/engines/frostbite_engine/camera.hpp>
|
#include <omath/engines/frostbite_engine/camera.hpp>
|
||||||
#include <omath/engines/iw_engine/camera.hpp>
|
#include <omath/engines/iw_engine/camera.hpp>
|
||||||
@@ -33,6 +35,8 @@ namespace
|
|||||||
return "world position is out of screen bounds";
|
return "world position is out of screen bounds";
|
||||||
case omath::projection::Error::INV_VIEW_PROJ_MAT_DET_EQ_ZERO:
|
case omath::projection::Error::INV_VIEW_PROJ_MAT_DET_EQ_ZERO:
|
||||||
return "inverse view-projection matrix determinant is zero";
|
return "inverse view-projection matrix determinant is zero";
|
||||||
|
case omath::projection::Error::PERSPECTIVE_DIVIDER_LESS_EQ_ZERO:
|
||||||
|
return "perspective divider is less or equal to zero";
|
||||||
}
|
}
|
||||||
return "unknown error";
|
return "unknown error";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ TEST(UnitTestProjection, UnclippedWorldToScreenRejectsBehindCamera)
|
|||||||
|
|
||||||
const auto projected = cam.world_to_screen_unclipped({-1000.f, 0, 0});
|
const auto projected = cam.world_to_screen_unclipped({-1000.f, 0, 0});
|
||||||
EXPECT_FALSE(projected.has_value());
|
EXPECT_FALSE(projected.has_value());
|
||||||
EXPECT_EQ(projected.error(), omath::projection::Error::WORLD_POSITION_IS_OUT_OF_SCREEN_BOUNDS);
|
EXPECT_EQ(projected.error(), omath::projection::Error::PERSPECTIVE_DIVIDER_LESS_EQ_ZERO);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(UnitTestProjection, UnclippedWorldToScreenAllowsOutOfBoundsNdc)
|
TEST(UnitTestProjection, UnclippedWorldToScreenAllowsOutOfBoundsNdc)
|
||||||
|
|||||||
Reference in New Issue
Block a user