OpenGLでオブジェクトの座標を取得したいとします。私はクワッドを描きます。その後、私はGL11.glTranslatef()やGL11.glRotatef()のような変換を行います。変換後のオブジェクトの位置を取得する
GL11.glBegin(GL11.GL_QUADS); // draw independent triangles
GL11.glColor3f(0.0f, 1.0f, 0.0f);
GL11.glVertex3f(-0.2f, 0.0f, -2.0f); // lower left vertex
GL11.glVertex3f(0.2f, 0.0f, -2.0f); // upper vertex
GL11.glVertex3f(0.2f, 0.4f, -2.0f); // lower right verte
GL11.glVertex3f(-0.2f, 0.4f, -2.0f);
GL11.glEnd();
変換後に頂点の位置を取得できますか?
どのポジションを意味していますか?頂点(モデルビューと透視マトリックスで変換)があれば、modelviewまたはスクリーン位置によって変換された位置?私はJavaのoglバインディングについてはあまり知られていませんが、そのための 'gluProject'のようなものがあるかもしれません。さらに、OpenGL関数に直接マップすると、現在のOpenGLの行列操作(glTranslate/glRotate)と即時モード(glBegin/glVertex/glEnd)は廃止予定ですので、それを行うための他の方法を見ても価値があるかもしれないことに注意してください。 – Grizzly