私はネットの周りに見たいくつかの例から、gl_FragData [0]はカラーバッファとみなされます。私はgl_FragDataに各指標の意味を見つけることを試みたとgl_FragDataは、バッファオフスクリーン一つ以上に 書き込まれた値を割り当てることができる配列であるgl_FragData [0]は常にカラーバッファですか?
のOpenGLシェーディング言語の書籍(オレンジブック)からこの一節に出会いました。この配列のサイズは 実装に依存し、 シンボリック定数GL_MAX_DRAW_BUFFERSのglGetを使用してクエリできます。 フラグメントシェーダ内のgl_FragDataに値を書き込んだ結果、 のオフスクリーンバッファがglDrawBuffersで指定されます。 をgl_FragData [0]に書き込むと、 で指定されたリストの最初のバッファがglDrawBuffersに更新され、gl_FragData [1] に書き込まれた値がリストの2番目のバッファを更新します。
gl_FragDataの0番目の値は常にカラーバッファです。そのような仕様があれば、どこで見つけることができますか?そうでない場合は、gl_FragDataに書き込むときに通常どおりに実行するのですか?
...実際にそれらの複数のをレンダリングへの道を設けることなく、複数の添付ファイルの可能性を可能にするためにES 2.0の愚かです。その場合、FBOはある時点で暗黙的にそれを呼び出しますか? – Jayesh
'glDrawBuffers'(' glDrawBuffer'、非常にインテリジェントな名前...と混同しないでください)は、OpenGL 2.0コアであるARB_draw_buffersの一部です。 OpenGL ES 2.0はOpenGL 2.0に関連して定義されているため、その関数を含める必要があります。 – Damon
@Damon:技術的には、['glDrawBuffer'](http://www.opengl.org/wiki/GLAPI/glDrawBuffer)は' glDrawBuffers'で定義されています。それはちょうどより制限的な形式です(与えられたバッファにインデックス0を設定し、他のすべてを 'GL_NONE'に設定します)。しかしどちらもGL ES 2.0にはありません。 –