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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API graphiques Discussion :

Quelle lib de matrice C++ ?


Sujet :

API graphiques

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Quelle lib de matrice C++ ?
    Hello,
    Je suis à la recherche d'une librairie assez basique de représentation et de calculs simples sur des matrices pour de l'usage 3D, histoire de pas réinventer la roue en en faisant une moi même, qui serait moins complète.

    Voici celles que j'ai listé :

    GLM (OpenGL Mathematics) : http://glm.g-truc.net/about.html
    MTL (Matrix template lirary) : http://www.osl.iu.edu/research/mtl/
    (j'ai aussi vu Armadillo mais je crois que la licence est assez restrictive http://arma.sourceforge.net/ )

    Je recherche une lib simple, compilable en multi plateformes mais qui reste performante et peu couteuse en mémoire. Il faudrait aussi que la licence permette une utilisation commerciale du soft sans redistribution des sources.

    Avez vous des feedback ou une experience à partager sur ces libs ? (ou d'autres à me suggérer).

    Merci d'avance.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Points : 38
    Points
    38
    Par défaut
    peut être que ça pourrait t'intéresser:

    http://www.robertnz.net/nm_intro.htm

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Je te conseille uBlas : http://www.boost.org/doc/libs/1_41_0.../doc/index.htm

    C'est très performant (grace aux expressions templates) et intégré à boost, qui est de plus en plus une sorte de lib standard du C++ .

  4. #4
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 683
    Points
    683
    Par défaut
    Perso, j'utilise GLM qui est vraiment bien et possède la même syntaxe que GLSL ce qui est un point très positif si tu fais de l'OpenGL avec GLSL.

    EDIT : J'ai oublié de précisé que cette lib contient aussi des choses comme les vecteurs (vec2,vec3,vec4), des fonctions très utiles pour OpenGL comme perspective qui construit une matrice de projection, translate qui construit une matrice de translation, scale, rotate etc...
    Et bien d'autres choses que je te laisse regarder mais cette librairie est vraiment adapté pour OpenGL et GLSL

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Je vais peut-être dire une connerie, mais je ne crois pas que GLM gère les expression templates. Ce qui est dommageable d'un point de vue performance.

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Mieux vaut partir sur Eigen, bien plus performante que les autres bibliothèques actuellement. uBLAS est bien, mais elle est dépassée maintenant (surtout pour les petites tailles il me semble !)

  7. #7
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Points : 1 630
    Points
    1 630
    Par défaut
    Cela depend, si c'est pour de la 3D avec des matrices specifiques 2x2, 3x4, 4x4, etc. definitivement GLM est pour moi le meilleur choix. Si c'est pour du calcul matriciel en general, probablement ecouter l'avis de Matthieu et partir sur eigen.
    Je ne réponds à aucune question par MP, posez vos questions sur le forum adéquat.
    Profils : G+ - LinkedIn

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Pour une utilisation simple dans le contexte de la 3D, oublie les trucs généralistes comme Eigen ou uBlas. Les optimisations du genre expression template n'ont pas d'importance non plus dans ce contexte.

    GLM a l'air très bien.

  9. #9
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 683
    Points
    683
    Par défaut
    Clairement GLM pour OpenGL est le choix à prendre
    Perso c'est OpenGL/SFML/GLM pour mes développements graphique 3D.

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    J'utilise eigen dans tout mon code 3d et aussi pour les matrices opengl (j'ai re-implemente les fonction perspective et lookat). Je n'etais pas pour finir avec 2 libs et eigen est de loin la plus performante.

Discussions similaires

  1. [C# / PDF] : Comment créer, avec quelles lib, un PDF.
    Par cinemania dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 28/08/2007, 13h30
  2. Réponses: 2
    Dernier message: 19/04/2007, 03h16
  3. Réponses: 2
    Dernier message: 19/09/2006, 19h06
  4. Réponses: 5
    Dernier message: 17/03/2006, 18h19
  5. Quelle lib pour vos GUI?
    Par mandale dans le forum Choisir un environnement de développement
    Réponses: 5
    Dernier message: 03/08/2004, 17h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo