0

ゲームを実行しているデバイスが、GL_MAX_VERTEX_ATTRIBS などの OpengGL 機能をサポートしているかどうかを検出したいと考えています。私はこれらのコードを書きました:

int[] result = new int[1];

GLES20.glGetIntegerv(GLES20.GL_MAX_VERTEX_ATTRIBS, result, 0);

公式ドキュメントを読んだところ、戻り値は 8 より大きくなければならないと言われていましたが、結果から得たものは常に 0 です。IOS では C 言語を介してこれらをうまく使用していましたが、Android では本当に混乱していました。 . Androidでこの種のタスクを完了するにはどうすればよいですか?

「OpenGL Extensions Viewer」( http://www.realtech-vr.com/glview/ ) は Android で多くのことを検出できることがわかりましたが、画面にはリストビューしかありません。カスタム GLSurfaceView とレンダラー?

この同様の質問を見つけました SurfaceView を使用しない Android で GPU 情報を取得します しかし、ベストアンサーもありません。

この問題を解決しました。検出コードを別のアクティビティに配置し、このチュートリアルhttp://www.learnopengles.com/android-lesson-one-getting-started/に従ってOpenGL ES 2.0 コンテキストを取得し、取得しますgl API 呼び出しを介してこれらの機能情報を取得し、すべて完了したら、メインのアクティビティに戻ります。

4

1 に答える 1

0

ここを参照してください。クラスは、GL10ファズなしで直接新しいインスタンスを作成しますEGL。機能のコンテキストをクエリするには、これで十分です。

私が知りたいのは、機能が選択したものに依存するかどうかEGLConfigです...

于 2012-07-06T04:40:28.757 に答える