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) )