Bonjour le forum.
Après mon probleme de framework Tao, j'ai décider de passer à OpenTK pour deux raisons:
- Pouvoir integrer ma fenetre dans un usercontrole (opentk propose un controle integrant openGL)
- Utiliser plusieur VAO/VBO dans ma scène (en TAO, j'ai pas trouvé comment :-/)
Donc, j'ai vite refais mon programme dans un usercontrole avec un controle OpenTK.
J'ai réussi à faire la visualisation de mon repère xyz mais:
- Je n'arrive pas à faire influencer les axes via le scale.
- Afficher ma pièce dans la scene.
En piece jointe, j'ai mis le code du usercontrole
Le code de chargement de la pièce (appelé lors de l'appel de la methode piece.LectureFichier) en mémoire est:
Les differentes commandes ne me renvoi pas d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 count = xyz.Length *sizeof(float); // xyz est mappé : xyzxyzxyzxyzxyz.... GL.GenBuffers(1, out VBOid1); GL.BindBuffer(BufferTarget.ArrayBuffer, VBOid1); GL.BufferData(BufferTarget.ArrayBuffer, count, xyz, BufferUsageHint.StaticDraw); // code = GL.GetError(); GL.BindBuffer(BufferTarget.ArrayBuffer, 0);
Le code d'affichage:
ici encore, pas d'erreur en retour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ErrorCode code = GL.GetError(); GL.BindBuffer(BufferTarget.ArrayBuffer, buffertodisplay); code = GL.GetError(); GL.VertexAttribPointer(0, 3, VertexAttribPointerType.Float, false, 0, 0); code = GL.GetError(); GL.EnableVertexAttribArray(0); code = GL.GetError(); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); code = GL.GetError();
Pourriez vous m'aider ?
Merci.
Flow.
Partager