Commit Graph

41 Commits

Author SHA1 Message Date
orange e99ca0bc2b update 2026-03-19 19:19:42 +03:00
orange 5f94e36965 fix for windows specific suff related to far near macroses 2026-03-19 15:32:05 +03:00
orange af36c909a4 improved simple game 2026-02-18 07:38:04 +03:00
orange 360734f252 added more methods 2026-02-17 07:39:45 +03:00
orange f523b35868 removed extra check 2025-12-19 23:59:25 +03:00
orange 94f4ca0f7b replaced numeric limits 2025-12-19 23:49:54 +03:00
orange 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
orange 7cd49fbca1 added check method 2025-12-09 10:21:54 +03:00
orange 39ccf471b1 reverted is out of bounds check + added extra test 2025-12-09 10:06:25 +03:00
orange 006911914c returned stuff back 2025-12-09 09:31:22 +03:00
orange 21c1b2fbdb hot fix 2025-12-09 09:26:55 +03:00
orange c215a0a265 fixed bug due to on screen ndc check 2025-12-09 07:53:52 +03:00
orange 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
orange 93ab7a9b79 updated comments 2025-10-23 00:48:54 +03:00
orange 10215e6e1c added second method of w2s 2025-10-21 04:38:43 +03:00
orange 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
orange 70f2f90100 reordored omath headers 2025-10-03 13:51:53 +03:00
orange 18a1349693 reverted 2025-09-20 15:46:21 +03:00
orange 3fa85f4c4d added new mat function
more tests
2025-09-20 15:44:33 +03:00
orange eeb4dccb12 fixed iw engine
fixed source

revert
2025-09-20 15:44:33 +03:00
orange 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
orange 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
orange 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
orange 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
orange cdde09c70c feat(omath): Add NDC to screen position coordinate diagram 2025-08-12 09:29:14 +03:00
orange 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
orange 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
orange b4fbcba8f2 Marks Camera class as final
Prevents inheritance from the Camera class.
2025-08-11 01:18:39 +03:00
orange 1f4b10f336 Refactors camera and prediction engine traits.
Moves camera and prediction engine implementations into traits for each engine,
decoupling the engine-specific logic from the core classes, promoting code reuse
and maintainability. This change allows for easier addition of new engines and
customization of existing ones.
2025-08-11 00:32:09 +03:00
orange ba2c60389f added more noexcept 2025-05-05 01:46:50 +03:00
orange 45c7ff131f added noexcept 2025-05-05 01:16:12 +03:00
orange 6df9d59fe9 fixed style 2025-05-03 20:38:58 +03:00
orange 4406e1e461 changed code style 2025-05-03 20:31:59 +03:00
orange a36b54610b resetting state 2025-04-25 23:52:10 +03:00
orange e487ddd11b naming fixed 2025-03-23 01:02:11 +03:00
orange d6a399fa65 uncommented test 2025-03-23 00:52:12 +03:00
orange 620ea44b06 improved camera 2025-03-22 17:39:40 +03:00
orange cbc0a13a79 added unity engine tests 2025-03-22 08:12:16 +03:00
orange 756bcef6e1 fixed include names 2025-03-21 04:40:59 +03:00
orange e4eb27c6de change 2025-03-21 04:21:31 +03:00