OpenGL gluunproject richtig benutzen

  • Antworten:2
Daniel Jung
  • Forum-Beiträge: 4

11.05.2013, 20:49:32 via Website

Hallo Community,

ich sitze derzeit an folgendem Problem: Ich arbeite unter OpenGL und möchte auf Touchevents reagieren. Dazu versuche ich seit einiger Zeit, die Koordinaten, die bei dem Touchevent übergeben werden, in die Weltkoordinaten zu übersetzen. Leider bin ich in Sachen Matrizen nicht ganz so fit, daher brauche ich eure Hilfe. Ich benutze die Funktion gluUnProject, um an einen Strahl ranzukommen, wo der Nutzer geklickt hat, um danach damit eine Ebene zu schneiden, und an die Koordinate in 3D zu gelangen. Ich arbeite derzeit noch in 2D, das macht das ganze theoretisch noch einfacher. Mein Code bisher sieht so aus:
1public float[] GetWorldCoordinates(float x, float ys){
2 float y = (float)(this.getHeight())-ys;
3 float eye[] = new float[16]; //hier wird das ergebnis von gluUnProject espeichert
4 int view[] = new int[16];
5 Matrix.setIdentityM(mModelMatrix, 0);
6 Matrix.translateM(mModelMatrix, 0, 0.0f, 0.0f, 0.0f);
7 float cur[] = new float[16];
8 Matrix.multiplyMM(cur, 0, mViewMatrix, 0, mModelMatrix, 0);
9 GLES20.glGetIntegerv(GLES20.GL_VIEWPORT, view, 0);
10 GLU.gluUnProject(x, y, 0.0f, cur, 0, mProjMatrix, 0, view, 0, eye, 0);
11 }
Meine Fragen dazu sind jetzt:
1) Was muss ich als ModelMatrix da eigentlich reinstecken?
2) Was krieg ich überhaupt genau als Ergebnis raus? Was ist das, was dann in der Matrix eye[] steht?
3) Wie komm ich dann im Endeffekt an mein Ergebnis? ^^

Über eure Hilfe würde ich mich sehr freuen :)

MfG

Antworten
Gelöschter Account
  • Forum-Beiträge: 8.246

11.05.2013, 23:44:20 via Website

Habe das mal in den richtigen Bereich verschoben.:wink:

Antworten
Daniel Jung
  • Forum-Beiträge: 4

15.05.2013, 12:44:35 via Website

keiner ne ahnung?

Antworten