ΠΠ° 24 ΡΠ½ΡΠ°ΡΠΈ, ΡΠ»Π΅Π΄ ΠΏΠΎΡΡΠΈ ΡΠ΅ΡΠΈΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΏΠ°ΡΠ·Π°, Π±Π΅ ΠΏΡΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ 1.0.0 Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π° C++, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° SIMD, Ρ ΡΠ°ΠΌΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅. 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.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru
