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

Bibliothèques Discussion :

boost::numeric::ublas matrix -> opengl


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Suryavarman
    Homme Profil pro
    Développeur 3D
    Inscrit en
    Mai 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur 3D
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par défaut boost::numeric::ublas matrix -> opengl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    using namespace boost::numeric::ublas;
     
    m_Matrice  = matrix<float>(4,4);
    ....
    glMultMatrixf( matrix.data. ?? );
    j'amerais récupérer les données sous forme d'un tableau une dimention [16] en une passe voir quatre maxi
    Merci d'avance (boost je dirais que c'est de la masturbation intellectuelle , c'est inbuvable leur code , sauf une fois qu'on a saisie le truc ça va tout seul , mais au premier regard c'est du chinois)

    Documention ublas
    Documention du type matrix
    Documentation du type du data des matrices

    EDIT:
    Je viens d'essayer ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        unsigned tmp = 0;
        glMultMatrixf(& ((GLfloat)m_Matrice.data[tmp]) );
    et j'obtient cette erreur:
    error: invalid types `<unknown type>[unsigned int]' for array subscript

    Mais bon je redoute que ça ne soit pas contigu si c'est le cas "tchao boost , tu sert à rien dans le temps réel"...dsl je commence à m'énerver , une simple matrice devenir aussi complexe c'est du n'importe quoi.
    EDIT:
    Voila où c'est stocker
    http://www.boost.org/libs/numeric/ub...ge_concept.htm
    il est possible d'envoyer un tableau , l'invers on peut pas si je comprend bien...

    EDIT:
    Voici à parament la solution ça compile , reste à voir si ça prend toutes les composantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     m_Matrice  = matrix<float,row_major,std::vector<float> >(4,4);
     
    &m_Matrice.data()[0]
    ça marche pas, comme je le pensais, les crochets sont des opérateurs surdéfinis qui renvoi un élément par copie.

    EDIT:
    http://c.developpez.com/faq/cpp/inde...teneurs_avec_c
    je comprend pas pourquoi ça marche pas alors


    EDIT : En fait ça fonctionne bien , c'est juste ma matrice qui à l'initialisation m_Matrice.assign(m_Identite); mais c'est comme si j'avais fait ça avec une zero_matrix. bizard. (je mettrais résolu quand je serais sur de mon cou)

    EDIT :
    m_Matrice += m_Identite;
    ça fait planter direct l'application avant même que la classe, qui va implémenter ça , ne soit crée. (j'enlève cette ligne et l'appli marche correctement :p enfin ça me dérenge pas, c'était juste un test car l'assign ne fonctionne pas entre une identity_matrix et une matrix (m_Matrice.assign(m_Identite) )

  2. #2
    Membre éclairé Avatar de Suryavarman
    Homme Profil pro
    Développeur 3D
    Inscrit en
    Mai 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur 3D
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par défaut
    Je met résolu pour le problème de récupérer les valeurs du data
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     m_Matrice  = matrix<float>(4,4);
     
    float *tab;
        tab = &(m_Matrice.data())[0];
    ça fonctionne tres bien std::vector c'était même pas la peinne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/08/2012, 20h29
  2. Métaprogrammation dans boost::numeric::ublas
    Par Kaluza dans le forum Langage
    Réponses: 4
    Dernier message: 07/10/2011, 18h11
  3. boost::numeric::ublas matrix.assign( identity_matrix )
    Par Suryavarman dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 19/05/2007, 04h37
  4. [BOOST] utilisation de boost uBLAS non compile avec visual c++
    Par le_voisin dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 06/09/2006, 22h03
  5. probleme boost::ublas
    Par p_moiret dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 19/12/2005, 16h10

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