2016-10-04 6 views
1

私は現在、OpenGL ES 3.0で動作するプロジェクトで描画バッファをクリアするために、glClearBuffer*関数を使用しています。以下glClearBuffer documentation状態:glClearBuffer *解説

glClearBufferfvglClearBufferiv、及びglClearBufferuivコマンドは、固定点をクリアするために使用されるべきであるが、それぞれ整数、符号なし整数のカラーバッファに署名しました。

アム私は右、次のようにそれを理解するには:

使用glClearBufferfv描画バッファがある場合GL_FLOATタイプ
使用glClearBufferiv描画バッファはGL_INTタイプ
使用glClearBufferuiv描画バッファがある場合GL_UNSIGNED_INTタイプ

ある場合

これは間違いありませんか?私は、GL_BYTEGL_UNSIGNED_BYTEのような、他の型の描画バッファをクリアするための適切な方法については言及していないので、私は尋ねています。

ありがとうございます!

答えて

2

normalized or floating-point image formatsのバッファにはfvバージョンを使用してください。符号付きおよび符号なし整数形式のバッファには、ivおよびuivバージョンを使用する必要があります。

これは特定の形式に制限されていませんが、一般的にカテゴリのの形式です。 GL_RGBA8UIは符号なし整数形式で、GL_R32UIです。

GL_INTは、どのような種類の画像フォーマットでもありません。

+0

私は 'GL_INT'がフォーマットではないことを知っています。しかし、すべての既知のフォーマットをリストするスイッチケースを持つ代わりに、フォーマットの**タイプ**をチェックすることはできませんか? – Deathicon

+0

@Deathicon: "*しかし、すべての既知のフォーマットをリストするスイッチケースを持っているのではなく、"あなたはなぜそれを持っていますか?一般的に言えば、レンダーターゲットの形式は何ですか。ほとんどの場合、アプリケーションにはコード化されていません。だから、なぜswitch文が必要でしょうか? –

+0

これは難しいコードではありません。プロジェクトのユーザーは、必要に応じてレンダーターゲットタイプのコンテンツを作成できます。 – Deathicon