0

APIレベル7を使用して、Androidで次のことを達成したいと思います:

glGet(GL_VIEWPORT, someBuffer)

OpenGL ES 1.1 のドキュメントは、これを C API の一部として示しています。

次のコードを使用してみました。

    int[] results = new int[4];
    gl.glGetIntegerv(GL10.GL_MAX_VIEWPORT_DIMS, results, 0);
    for (int i = 0; i < results.length; i++) {
        Log.e(TAG, "results[" + i + "]: " + results[i]);
    }

次のように、サーフェスのさまざまなフェーズで出力を取得します。

onSurfaceCreated called
    results[0]: 4096
    results[1]: 4096
    results[2]: 0
    results[3]: 0
onSurfaceChanged called with height: 800 and width: 480
  //NOTE: gl.glViewport(0, 0, width, height); is called here
    results[0]: 4096
    results[1]: 4096
    results[2]: 0
    results[3]: 0
onDrawFrame called
    results[0]: 4096
    results[1]: 4096
    results[2]: 0
    results[3]: 0

Android の kronos GLES を使用してこれを行うにはどうすればよいでしょうか?

4

2 に答える 2

2

Android があなたを自分自身から守ってくれることを発見しました。onSurfaceChanged呼び出しの前に呼び出されonDrawFrameます。このデータをキャプチャして保持するのは私たちの責任です。

于 2012-04-16T22:03:07.277 に答える
0

定数GL_VIEWPORTは interface の一部ではなく、 の一部GL10ですGL11GL11.GL_VIEWPORT代わりに使用してみてください。これがふさわしくない場合は、インスタンスを before にキャストできますがGL11、これは何の違いもありません。

于 2012-04-16T06:44:29.443 に答える