IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par LittleWhite

37PARTAGES

4  0 
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

Une erreur dans cette actualité ? Signalez-nous-la !