OpenGL / OpenGL ESの中にフレームバッファ、テクスチャとglColor行動
-
21-08-2019 - |
質問
この質問は混乱しているように見える場合、私は事前にお詫び申し上げます。私は見てい行動は私には意味がありません。
私は、テクスチャにレンダリングするフレームバッファを持っています。私はこのテクスチャに不透明度を変えるの赤、緑、青の実線の長方形を描画します。私は、画面(フレームバッファ0)にテクスチャをレンダリングします。テクスチャに取り付けたフレームバッファは永続的であり、各ループをレンダリングするには、私はテクスチャへのより多くの長方形を描く - 。最終的に画面を埋める。
私は、画面にテクスチャをレンダリングする前に、白100%の不透明度にglColor()
を設定しない場合、特定の色の四角形が描画されないことを発見しました。 glColor(1.f, 0.f, 0.f, 1.f)
はテクスチャをレンダリングする前に設定されている場合には、唯一の青い矩形が描画されますされます。
私は理解していません。私は無駄に様々なtexParameter(...)
通話を試してみましたが、私はちょうど推測しています。
感謝します。
解決
とりわけ、glColor()頂点に使用される色を設定します。テクスチャ矩形が描画されるとき、各テクセルサンプルを頂点色掛け合わされます。すべてverticiesが同じ色を持っている場合は、単純に頂点カラーであるプリミティブの頂点のまあ、実際には、線形interpoloationます。
このチュートリアルでは、かなりこのすべての意味を説明します:
http://www.falloutsoftware.com/tutorials/gl/gl4.htm の
唯一の奇妙な部分はここにglColor(1、0、0、1)のみ青の長方形を描画する原因となることを、あなたの文です。 glColorへのパラメータは、赤、緑、青、アルファいる場合、私はそれが唯一の赤の長方形であることを期待します。うまくいけば、そこにミスだまたはパラメータの順序が異なっているように、= 0、緑、青、0 =赤= 1およびα= 1