Problème de picking avec gl4java [gl4java - Java] - Java - Programmation
MarshPosté le 13-06-2004 à 17:21:47
Bonjour à tous
Je fais appel à votre aide car j'ai découvert récemment gk4java et j'ai pour projet de développer une application l'utilisant. Cette application consiste à simuler le développer de fourmilières. Bref, c'était pour situer le contexte. J'aimerais que quand on clique sur une fourmi ou un autre objet du monde, je puisse afficher les caractéristiques de l'objet sélectionné. Je me suis inspiré d'articles, bouquins, tutos et voila la fonction que j'ai pondu qui est appelée avec mon MouseListener:
Code :
publicint retrieveObjectID(int x, int y) {
int objectsFound = 0;
int[] viewportCoords = newint[4];
int[] selectBuffer = newint[32];
gl.glSelectBuffer(32, selectBuffer);
gl.glGetIntegerv(GL_VIEWPORT, viewportCoords);
gl.glMatrixMode(GL_PROJECTION);
gl.glPushMatrix();
gl.glRenderMode(GL_SELECT);
gl.glLoadIdentity();
glu.gluPickMatrix(x, viewportCoords[3] - y, 5, 5, viewportCoords);
Je l'accorde, comme ça, on n'a pas très envie de lire... Evidemment si je demande votre aide c'est que dans tous les cas cette fonction ne me renvoie aucun objet sélectionné. Ce qui est étrange c'est que mon tableau viewportCoords est rempli de 0 même après un appel à glGetIntegerv.
Je tiens à préciser aussi que j'ai bien rempli la pile de noms dans la fonction display. quelqu'un saurait-il m'aider à m'en sortir?
Marsh Posté le 13-06-2004 à 17:21:47
Bonjour à tous
Je fais appel à votre aide car j'ai découvert récemment gk4java et j'ai pour projet de développer une application l'utilisant. Cette application consiste à simuler le développer de fourmilières. Bref, c'était pour situer le contexte. J'aimerais que quand on clique sur une fourmi ou un autre objet du monde, je puisse afficher les caractéristiques de l'objet sélectionné. Je me suis inspiré d'articles, bouquins, tutos et voila la fonction que j'ai pondu qui est appelée avec mon MouseListener:
Je l'accorde, comme ça, on n'a pas très envie de lire... Evidemment si je demande votre aide c'est que dans tous les cas cette fonction ne me renvoie aucun objet sélectionné. Ce qui est étrange c'est que mon tableau viewportCoords est rempli de 0 même après un appel à glGetIntegerv.
Je tiens à préciser aussi que j'ai bien rempli la pile de noms dans la fonction display. quelqu'un saurait-il m'aider à m'en sortir?
Merci beaucoup
---------------
CGP Kingmax PC3700/PC4000 - DFI Lanparty UT nF3 250Gb