2017-01-04 10 views
3

私はC++でOpenGLを使って異なるオブジェクトを異なるRGBAテクスチャにレンダリングするシステムを持っています。これらのテクスチャを重ねて重ねていきたいのですが、私の問題は各テクスチャにglClearColorがレンダリングされていることです。透明なテクスチャへのOpenGLレンダリング

テクスチャのClearColor部分を透明(0.0fアルファ)にするためにOpenGLに指示する方法は、他のレイヤーの後ろのレイヤーの部分をまだ見ることができますか?

答えて

2

glClearColorの4番目のパラメータでは、レンダーターゲットをクリアするときにアルファ値を設定することができます。したがって、0を渡して透明にすることができます。

あなたのレンダリングターゲットには明らかにアルファチャンネルが必要です。また、glClearColorを使用して指定された値を使用してアルファチャンネルをクリアすることは、glColorMaskを使用して有効または無効にすることができます。

+0

ありがとうございます!私はそれについても考えなかったと信じられない!ちょっとしたことですが、テクスチャの背景は消えてしまいました!しかし、私はちらつきのような残酷なフィルムグレインを得ています。 glBlendFunc(GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA)を使用します。再度、感謝します! – GDN9

+0

ちらつきが何らかの同期の問題のように聞こえます。 https://www.khronos.org/opengl/wiki/Synchronization – samgak

関連する問題