2012-02-28 4 views
7

古典的なOpenGLアプリケーションでは、フレームのレンダリングが終了した後、通常、ウィンドウバッファを現在のフレームに "フリップ"するnon-glメソッドを呼び出しています。WebGLがディスプレイの更新を決定したら?

しかし、私はWebGLでそれについて何も表示されません。どのように機能するのですか?

答えて

12

WebGLは常にバックバッファリングされており、イベントループに戻るときはいつでも、ブラウザはバックバッファの現在の内容をフロントバッファにプッシュします。

したがって、ユーザーに部分的な結果を表示する心配なしに、必要な数の描画コマンドを実行できます。イベントループを終了すると、WebGLは変更を表示し、バックバッファをクリアします。

あなたは、単一のバッファを持っているかのようにも、部分更新を実行する、行動することができ、適切な行動がpreserveDrawingBufferを渡すことによって、それらを要求したときにしたい場合はtrue

gl = somecanvas.getContext("webgl", {preserveDrawingBuffer: true}); 

のようにWebGLのコンテキストを作成すると、ここでは2です例、one without preserveDrawingBufferone with

+0

ありがとうございました!私はずっと前にそれを探していた! – fernandojsg

関連する問題