スタック オーバーフローのおかげで、私が抱えていた多くの問題を解決することに非常に近づいています。今週末にもう1つ手に入れました。
基本的にいくつかのテクスチャを持つ正方形である GameObject2D というオブジェクトがあります。このオブジェクトを 3D で投影すると、すべてが機能します。これを行うには、prepare3Ddrawing というメソッドを使用します。次に、2D 描画を行いたいので、2D 描画用の射影行列を準備するメソッドを使用しています。prepare2Ddrawing の 2 つの異なるバージョンを試しましたが、うまく動作させることができません。まず、ここに私の3D準備があります...
private void prepare3Ddrawing(GL10 gl)
{
gl.glLoadIdentity();
gl.glViewport(0, 0, getWidth(), getHeight());
gl.glDisable(GL10.GL_DITHER);
gl.glEnable(GL10.GL_DEPTH_TEST);
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
GLU.gluPerspective(gl, 45.0f, (float)getWidth()/(float)getHeight(),0.1f,100.0f);
}
そして、これが原点を左上ではなく左下に置く私の2Dのバージョンです...
private void prepare2Ddrawing(GL10 gl)
{
gl.glDisable(GL10.GL_DEPTH_TEST);
gl.glLoadIdentity();
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
GLU.gluOrtho2D(gl,0,getWidth(), 0, getHeight());
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
}
正しい結果を得るには、 GLU.gluOrtho2D(gl...) の正しい組み合わせが必要だと思います。何か案は?ありがとう!