24 ΡΠ½Π²Π°ΡΡ, ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΡΠΈ ΡΠ΅ΡΡΡΡΡ Π»Π΅ΡΠ½Π΅ΠΉ ΠΏΠ°ΡΠ·Ρ, ΡΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ 1.0.0 header-only SIMD-ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ C++ GLM (OpenGL Mathematics), ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ GLSL (pdf) (OpenGL Shading Language).
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡΠ»Ρ GLM_EXT_scalar_reciprocal Ρ ΡΠ΅ΡΡΠ°ΠΌΠΈ;
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡΠ»Ρ GLM_EXT_vector_reciprocal Ρ ΡΠ΅ΡΡΠ°ΠΌΠΈ;
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡΠ»Ρ GLM_EXT_matrix_integer Ρ ΡΠ΅ΡΡΠ°ΠΌΠΈ;
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ glm::iround ΠΈ glm::uround Π² ΠΌΠΎΠ΄ΡΠ»ΠΈ GLM_EXT_scalar_common ΠΈ GLM_EXT_vector_common;
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ GLM_FORCE_UNRESTRICTED_FLOAT Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΊΠ°Π»ΡΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΎΠΆΠΈΠ΄Π°ΡΡΠ΅ΠΉ ΡΠΈΠΏ float;
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ constexpr Π² ΡΡΠ½ΠΊΡΠΈΠΈ cross ΠΈ dot;
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄Π»Ρ glm::min ΠΈ glm::max;
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊΠ²Π°ΡΠ΅ΡΠ½ΠΈΠΎΠ½ΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΠΈ glm::decompose;
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ²Π°ΡΠ΅ΡΠ½ΠΈΠΎΠ½Π° Π² ΡΠΉΠ»Π΅ΡΠΎΠ² ΡΠ³ΠΎΠ» ΠΊΡΠ΅Π½Π°;
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ° glm::pow Ρ ΠΊΠ²Π°ΡΠ΅ΡΠ½ΠΈΠΎΠ½Π°ΠΌΠΈ ΠΌΠ°Π»ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ;
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ glm::fastNormalize;
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ glm::isMultiple;
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΠΈ glm::adjugate;
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π² ΡΡΠ½ΠΊΡΠΈΠΈ glm::angle Π΄Π»Ρ ΡΠ³Π»ΠΎΠ² Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (2pi-1, 2pi);
- ΡΡΡΡΠ°Π½Π΅Π½ Π·Π°ΠΏΡΠ΅Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ glm::string_cast Π² ΠΊΠΎΠ΄Π΅ Ρ ΠΎΡΡΠ° CUDA;
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Github Actions.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru