smath 1.0.0Β β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ для языка C++ (стандарт C++23)

smath 1.0.0Β β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ для языка C++ (стандарт C++23) smath 1.0.0Β β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ для языка C++ (стандарт C++23)

Бостоялся выпуск 1.0.0 Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ для языка C++ (стандарт C++23) smath, распространяСмой ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Apache 2.0 Π² Π²ΠΈΠ΄Π΅ СдинствСнного нСбольшого Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

ВозмоТности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:

  • Π΄ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊ-класс Vec<N, T> с ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ алиасами Vec2/Vec3/Vec4 ΠΈ аксСссорами (x/y/z/w, r/g/b/a). Π’Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сравнСниС ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ½Ρ‹Π΅/структурированныС привязки;
  • Ρ‚ΠΈΠΏ Quaternion<T> Π½Π° основС Vec4;
  • Π΄ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊ-класс Mat с ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ алиасами Mat2/Mat3/Mat4;
  • Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΡƒΠ³Π»ΠΎΠ² rad/deg/turns с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ настраиваСмой Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния макросом SMATH_ANGLE_UNIT.
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° cΠ²ΠΈΠ·Π·Π»ΠΈΠ½Π³Π° Π²ΠΎ врСмя компиляции (swizzle<"…">);
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° std::format;
  • ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ нСявныС прСобразования;
  • Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ RGBA (pack_unorm4x8, unpack_snorm4x8 ΠΈ Π΄Ρ€.);
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ C++20;
  • Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ взаимодСйствия с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ Eigen, GLM (OpenGL Mathematics), Handmade-Math, raylib ΠΈ SFML.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ