2012-03-11 8 views
2

は、私は、OpenGLのエラーをスキャンするsetDebugFlagsを利用しようとしている:Android/OpenGL-ES 2.0:setDebugFlagsは何もしませんか?ここで推奨されているよう

http://developer.android.com/resources/articles/glsurfaceview.html

私はsurfaceviewのコンストラクタでそれを置く:私は見ていない実行している場合しかし

public MySurfaceView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    setEGLContextClientVersion(2); 
    setDebugFlags(DEBUG_CHECK_GL_ERROR | DEBUG_LOG_GL_CALLS); 
    _renderer = new MyRenderer(getContext()); 
    setRenderer(_renderer); 
    setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY); 
} 

私のセッションフィルタまたはすべてのメッセージの下に、冗長なlogcatの何か。 OpenGLの呼び出しも、OpenGLのエラーもありません。

各フレームの最後に手動でエラーをチェックしていますが、エラーがありますが、まだどこから来ているのかわかりません。 setDebugFlagsを動作させるために明白な何かが欠けていますか?

答えて

1

これは、ラッパーの仕組みによるものです。 mDebugFlagsが使用される唯一の場所であるEglHelper's createSurfaceメソッドを参照してください。 GL10インスタンスをラップして返します。ただし、ES 2.0を使用しているため、GLES20への静的関数呼び出しを使用する必要があります。あなたはデバッグフラグ意志prevent you from using the extension interfacesを設定し、GL10インスタンスメソッドを呼び出すだけGLESを使用した場合でも、

まだより良いです。 GL11totally unsupported in this regardと思われます。このバグは2年以上経過しています。 JOGLはいい階層を持っているようですが、私はを実際には見ることができませんでした。

+0

洞察力をお寄せいただきありがとうございます。 – Tim

+0

これを正しく読んでいれば、デバッグ機能は動作しません。 (自分をGL ES 1に制限していない場合) – nmr

+0

この回答は1年半前です。それ以来、私は実装を見ていない。これは確かに再評価を使用することができます。 gltracer(http://developer.android.com/tools/help/gltracer.html)をご覧ください。それは同僚によってうまく使用されています。 –

関連する問題