[EDIT]はこのポストを無視し、それはnoobのの間違いだった[/ EDIT]のOpenGL ES MatrixGrabberとGLU.gluUnproject()騒乱
私は(=私はそれにかなり新しいです:))先週のAndroidを開始しました私は問題に頭を抱えています: 私は、レイキャスティングを実行して、画面のポイントの下にオブジェクトを取得しようとします。 私は私のプロジェクトでMatrixGrabber、MatrixStackとMatrixTrackingGLクラスをコピーした、彼らは罰金に見える障害のまともな量の後、私はsolution
を見つけ、GLU.gluUnproject方法は私が必要なものだったことが分かりました。
私が使用方法は、次のようになります: 世界:
static public Vertex unProject(float x, float y, World world)
{
world.mg = new MatrixGrabber();
world.mg.getCurrentState(world.gl);
float[] pos = new float[4];
GLU.gluUnProject( x, y, 0f,
world.mg.mModelView, 0,
world.mg.mProjection, 0,
world.view().get_size(), 0,
pos, 0);
return new Vertex(pos[0], pos[1], pos[2]);
}
頂点は、X、YとdataHolderで、zは
世界は、私は、コンストラクタでGLWrapperの交換を行い、GLSurfaceViewを拡張浮かびます。 MGはMatrixGrabber()
public World(Context context)
{
super(context);
[...]
//allows matrix manipulation
setGLWrapper(new GLWrapper()
{
public GL wrap(GL gl)
{
return new MatrixTrackingGL(gl);
}
});
}
であると私は私の呼び出しを行うとき、私はすべての変数がインスタンス化されていることを確認し
が、それでも私はこの仕事を得ることができない:アプリは
world.mg.getCurrentState(world.gl);
コールでひどくクラッシュします。 getCurrentModelView(gl)でもクラッシュします。およびgetCurrentProjection(gl);
私はAndroid 1.5を使用していますが、他のバージョンと同じものを3つ試しました。 私はどのバージョンのOpenGLIを使用しているのか本当に分かりません。 GL10はどこでも使用されていますが、重要かどうかわかりません。私が読んだのはGL10の "Type"です。
誰もが手掛かり、アドバイス、回避策や解決策を持っている場合、私は
と、とにかく幸せ幸せになると思い、読んでくれてありがとう:)