B
hi!
ich habe mal wieder ein paar probleme! ich arbeite mit picking und das funktioniert auch alles ganz gut, jedoch nur, wenn ich das objekt nicht rotiere, verschiebe und/oder skaliere! worauf muss ich achten? meine picking funktion sieht im moment so aus (arbeite mit dem c++ builder):
if(Button != 0&& Button != 2 && Shift.Contains(ssShift))
{
GLint viewport[4];
glGetIntegerv(GL_VIEWPORT, viewport);
glSelectBuffer(BUFSIZE, selectionBuffer);
glRenderMode(GL_SELECT);
glInitNames();
glPushName(0);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluPickMatrix((GLdouble) X, (GLdouble) (viewport[3] - Y),
1.0f, 1.0f, viewport);
glOrtho(-GetOrtho*sx, GetOrtho*sx, -GetOrtho*sy, GetOrtho*sy, -10000, 10000);
DrawScene(true); //hier wird das objekt 'dargestellt'
glMatrixMode (GL_MODELVIEW);
glPopMatrix();
glFlush();
numOfHits = glRenderMode(GL_RENDER);
collisionbool = true;
MyResize(); /* MatrixMode, Viewport einlesen, Objectfunktion aufrufen*/
Manipulate(); /*Objekt manipuilieren (skalieren, rotiere, verschieben) */
}
enddeckt jemand einen fehler? danke für die hilfe
mr. blubbermann