La bibliothèque mathématique pour OpenGL : GLM passe en version 0.9.6.1


GLM est une bibliothèque C++ très connue des développeurs OpenGL. En effet, celle-ci apporte toutes les fonctionnalités nécessaires à la création d'une application 3D : implémentation des vecteurs, matrices... De plus, GLM suit au mieux la spécification du GLSL pour son implémentation, permettant ainsi au code C++ d'être le plus cohérent possible avec le code GLSL avec lequel il communique. La bibliothèque est distribuée sous licence MIT, multiplateforme et ne possède pas de dépendances.

La version 0.9.6 a définitivement retiré l'utilisation des angles en degrés de GLM. En effet, certaines fonctions utilisaient des angles en radians et d'autres en degrés. Cela est maintenant terminé et tous les angles dans GLM sont en radians. Pour convertir un angle en radians, vous pouvez utiliser glm::radians(valeur).

Les types templates sont maintenant disponibles dans le namespace GLM et l'auteur garantit leur stabilité. Voici un exemple de définition de types avec GLM 0.9.6 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
    #include <cstddef>
    #include <glm/vec4.hpp>
    #include <glm/mat4.hpp>
    typedef glm::tvec4<std::size_t> size4;
    typedef glm::tvec4<long double, glm::highp> ldvec4;
    typedef glm::tmat4x4<long double, glm::highp> ldmat4x4;
Finalement, de nombreuses améliorations ont été entreprises pour réduire les temps de compilation. Depuis GLM 0.9.5, les déclarations anticipées sont utilisées dans le fichier <glm/fwd.hpp>. De plus, le fichier d'entête <glm/glm.hpp> regroupant toutes les déclarations a été remplacé par des fichiers spécifiques : <glm/vec2.hpp>, <glm/mat3x2.hpp> ...
Jusqu'à présent, même si un code n'était pas utilisé, il était compilé. Grâce à la suppression du support des vieux compilateurs, il est maintenant possible d'éviter ce mécanisme et donc, de compiler uniquement le code utile. Les compilateurs supportés sont :
  • Apple Clang 4.0 et supérieur ;
  • CUDA 4.0 et supérieur ;
  • GCC 4.4 et supérieur ;
  • LLVM 3.0 et supérieur ;
  • Intel C++ Composer XE 2013 et supérieur ;
  • Visual Studio 2010 et supérieur ;
  • n'importe quel compilateur conforme au C++98.



GLM 0.9.6.1

La version 0.9.6.1 est parue deux semaines après la version 0.9.6. Comme son numéro de version l'indique, elle n'apporte que des corrections de bogues présents dans la version précédente. Notamment, la version 0.9.6 possède des bogues bloquant les compilations en mode C++98 seul, en mode 32 bits et le support de CUDA et Android.
Il est donc conseillé d'utiliser cette dernière que vous pouvez télécharger ici : http://www.g-truc.net/project-0016.html#menu

La bibliothèque étant très bien documentée, vous pouvez trouver ici la référence ainsi qu'un manuel d'utilisation.


Votre opinion

Utilisez-vous GLM ? Quelles sont les fonctionnalités que vous préférez ?
Qu'aimeriez-vous voir dans la prochaine version de GLM ?


Source

Site officiel