1

非デフォルト FBO でジオメトリをレンダリングし、デフォルト FBO でレンダリングされたジオメトリに整数テクスチャとして適用しています。デフォルト以外の FBO の色をクリアするには、glClearBufferiv() 呼び出しを使用しています。私の場合、 drawBuffer (2番目の引数) が何であるかを取得していません。0で試しましたが、うまくいきません。色はクリアしません。

GLint cl[]={32000,32000,32000,32767};
glClearBufferiv(GL_COLOR, 0, cl);

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

私のフラグシェーダー:

out ivec4 fragColor;

void main()
{
fragColor = ivec4(0,32767,0,32767);
}

これにより、緑のジオメトリがレンダリングされますが、外側の色は黒になります。

私は1つの深さと色の添付ファイルを持っています. 以下のようにドローバッファを呼び出しています。

GLenum buffers[] = { GL_COLOR_ATTACHMENT0};
glDrawBuffers(1,buffers);
GLint cl[]={32000,32000,32000,32767};
glClearBufferiv(GL_COLOR, 0, cl); or
 glClearBufferiv(GL_COLOR, GL_DRAW_BUFFER0, cl)

しかし、それでも同じエラーです。

4

0 に答える 0