mirror of
https://github.com/recp/cglm.git
synced 2026-01-01 05:06:13 +00:00
This commit adds the function `glm_perspective_lh_zo`, modelled on the implementation of glm_perspective, but amended to provide a left-hand coordinate system expected by DirectX, Metal and Vulkan (per the GLM project's `glm/detail/setup.hpp`). It uses a clip-space of zero-to-one. The function is tested against a longhand version of the algorithm it seeks to implement as well as against the output of the GLM project's `glm::perspectiveLH_ZO` function. This commit adds a new subdirectory `test/glm_cmp` which contains a basic CMake file and `main.cpp`. An interested user should link or copy or clone the GLM project into this directory. The `main` function can be used to print the reference data used so others can verify behaviour in the future, or add new literal reference values.
Simple GLM app for quick generation of reference values
Usage
- Clone, link or copy the GLM library's root directory to
test/glm_cmp/glm. - Ensuring your current directory is
test/glm_cmp:mkdir build && cd build && cmake .. && make && ./glmcmp
Please do not delete prior reference-data-producing functions as it may be necessary to return to these to examine future bugs or assumptions. By all means remove or comment-out the call site from the main function, though, to focus on what you're working on.