質問

OpenGLでFBOのステンシルバッファーを使用しようとしていますが、機能させることはできません。深さとステンシルのターゲットの両方で、深さ24_stencil8テクスチャをFBOにバインドしました。簡単なテストとして、私は試しました:

/* Enable FBO */

glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_NEVER, 1, 0xff);
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);

glBegin(GL_TRIANGLE);
/* Draw some triangles */
glEnd();

glDisable(GL_STENCIL_TEST);

/* Disable FBO and render it on screen as a texture. */

GL_NEVERを使用しているとき、何もレンダリングする必要はありませんが、三角形を見ることができます。これは、ステンシルがまったくなかったようなものですが、その理由はわかりません。 FBOSなしでこのコードを試してみると、ステンシル関数を正しく使用すると思います。この問題を解決する方法がわかりません。誰かがすでにFBOでステンシルを使用していましたか?

役に立ちましたか?

解決

私の悪い、私は私のFBOにステンシルバッファーを正しく取り付けていませんでした。奇妙なことは、私のFBOステータスがエラーやアタッチメントが悪いことを示していなかったので、私はそれが大丈夫だったと説得されました...この問題は私を夢中にさせましたが、今はうまくいくようです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top