Vos recrutements informatiques

700 000 développeurs, chefs de projets, ingénieurs, informaticiens...

Contactez notre équipe spécialiste en recrutement

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

Le , par LittleWhite, Responsable 2D/3D/Jeux
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
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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Offres d'emploi IT
Technical leader / moe perle (H/F)
Société Générale - Ile de France - Val de Marne
Software engineer H/F
Safran - Ile de France - Magny-les-Hameaux / Saclay
Architecte de données (H/F)
Société Générale - Ile de France - Ile de France

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique 2D - 3D - Jeux : LittleWhite -