Commit Graph

94 Commits

Author SHA1 Message Date
29b49685be fix 2026-04-25 05:29:59 +03:00
92582079c5 added types impl 2026-04-25 05:29:21 +03:00
65cb803cfb update 2026-04-25 05:09:07 +03:00
0487e285ef updated for unreal 2026-04-25 04:42:52 +03:00
180f2f2afa added template + concept 2026-04-24 18:51:06 +03:00
20930c629a added method to get camera matrix 2026-04-18 15:40:38 +03:00
0845a2e863 clarified interfaces 2026-04-18 12:54:37 +03:00
79f64d9679 fixed unreal bug, improved interface 2026-04-15 03:38:02 +03:00
dbe29926dc fixed unity bug 2026-04-15 03:25:53 +03:00
9d30446c55 added ability to get view angles from view matrix 2026-04-15 03:08:06 +03:00
d38895e4d7 added AABB check 2026-03-24 10:20:50 +03:00
04203d46ff patch 2026-03-24 06:44:10 +03:00
bcbb5c1a8d fixed index 2026-03-24 06:05:56 +03:00
ba46c86664 simplified method 2026-03-24 06:03:35 +03:00
8fb96b83db removed dead code 2026-03-23 23:52:41 +03:00
4b6db0c402 updated z range 2026-03-23 23:36:19 +03:00
eb1ca6055b added additional error code 2026-03-21 16:15:48 +03:00
8615ab2b7c changed name, fixed bug 2026-03-21 15:22:02 +03:00
5a4c042fec replaced enum 2026-03-21 14:53:04 +03:00
8063c1697a improved interface 2026-03-21 14:41:07 +03:00
46d999f846 added clip option 2026-03-21 13:58:06 +03:00
e99ca0bc2b update 2026-03-19 19:19:42 +03:00
5f94e36965 fix for windows specific suff related to far near macroses 2026-03-19 15:32:05 +03:00
af36c909a4 improved simple game 2026-02-18 07:38:04 +03:00
360734f252 added more methods 2026-02-17 07:39:45 +03:00
f523b35868 removed extra check 2025-12-19 23:59:25 +03:00
94f4ca0f7b replaced numeric limits 2025-12-19 23:49:54 +03:00
3bc69dfe26 changed epsilon to numeric limmits 2025-12-19 23:34:10 +03:00
Saikari
a17e3af0ab Add MinGW support 2025-12-18 01:59:11 +03:00
7cd49fbca1 added check method 2025-12-09 10:21:54 +03:00
39ccf471b1 reverted is out of bounds check + added extra test 2025-12-09 10:06:25 +03:00
006911914c returned stuff back 2025-12-09 09:31:22 +03:00
21c1b2fbdb hot fix 2025-12-09 09:26:55 +03:00
c215a0a265 fixed bug due to on screen ndc check 2025-12-09 07:53:52 +03:00
8aa2dca456 Improves screen to world conversion accuracy
Adds support for different screen origin configurations.

This change allows for more accurate conversion from screen coordinates to world coordinates by correctly handling different screen origin positions (top-left and bottom-left). Includes new unit tests to verify the functionality with both configurations.
2025-11-08 13:51:56 +03:00
41bec6c6cd deleted not needed header 2025-10-23 00:49:54 +03:00
93ab7a9b79 updated comments 2025-10-23 00:48:54 +03:00
10215e6e1c added second method of w2s 2025-10-21 04:38:43 +03:00
9af201069a Fixes incorrect NDC calculation and updates formulas
Corrects the NDC calculation in `world_to_screen` to improve accuracy.
Replaces custom perspective projection matrix calculation with `omath::mat_perspective_right_handed` for correctness and consistency.
Updates test cases and provides debugging information by printing view and projection matrices.
Addresses an issue in the feature/ndc_invalid_calc_fix branch.
2025-10-21 04:38:43 +03:00
70f2f90100 reordored omath headers 2025-10-03 13:51:53 +03:00
18a1349693 reverted 2025-09-20 15:46:21 +03:00
3fa85f4c4d added new mat function
more tests
2025-09-20 15:44:33 +03:00
eeb4dccb12 fixed iw engine
fixed source

revert
2025-09-20 15:44:33 +03:00
4f0cfd4cef Adds 2D screen to world conversion
Adds an overload for screen_to_world that accepts a 2D screen position.

Renames screen_to_dnc to screen_to_ndc for clarity.
2025-09-14 04:48:56 +03:00
1d8dba6487 Fixes float type conversion in world_to_screen
Fixes a potential type conversion issue by explicitly casting the x-coordinate to float in the world_to_screen test. This prevents possible compiler warnings and ensures the intended behavior.
2025-09-09 02:13:45 +03:00
9e08f5bb5c Adds screen to world space conversion
Adds functionality to convert screen coordinates to world space, including handling for cases where the inverse view projection matrix is singular or when the world position is out of screen bounds.

Also exposes Camera class to unit tests.
2025-09-09 01:31:23 +03:00
1c58340404 Refactors: Moves linear algebra to new directory
Moves linear algebra headers to a new subdirectory to improve project structure.

Updates includes to reflect the directory change.
Adds vcpkg to the tracked repositories.
2025-08-31 23:36:05 +03:00
cdde09c70c feat(omath): Add NDC to screen position coordinate diagram 2025-08-12 09:29:14 +03:00
62c86fdc09 Introduces CameraEngine concept
Adds a concept `CameraEngineConcept` to ensure that camera
engine implementations provide the necessary functions
with the correct signatures and `noexcept` specifications.

This enables compile-time checks for valid camera engine
implementations, improving code reliability and preventing
runtime errors.
2025-08-12 09:13:02 +03:00
94bc18ba18 Removes virtual destructor from Camera
Removes the virtual destructor from the Camera class as it is not required,
as the class does not act as a base class. This simplifies the class
definition and avoids potential vtable overhead.
2025-08-11 01:43:22 +03:00