私はこれが何を意味するのか正確に混乱しています:
特定のバッファのブレンドを行う場合、フラグメント出力からの色はソース カラーと呼ばれます。現在バッファーにある色は、目的の色と呼ばれます。
ブレンド方程式自体は理解していますが、 source colorとdestination colorの違いがよくわかりません。
誰かが例またはより具体的な定義を提供できますか?
私はこれが何を意味するのか正確に混乱しています:
特定のバッファのブレンドを行う場合、フラグメント出力からの色はソース カラーと呼ばれます。現在バッファーにある色は、目的の色と呼ばれます。
ブレンド方程式自体は理解していますが、 source colorとdestination colorの違いがよくわかりません。
誰かが例またはより具体的な定義を提供できますか?
短くシンプルにするために:
glColor4f(...)
場合は、操作のソース カラーを設定します。通常、使用する理由は次のとおりです。
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
これは、指定したアルファ値を使用したいためです。これを使用して現在の色を乗算し、次に (1 - alpha) を使用して、その座標でバッファーの現在の色を乗算します。
したがって、クワッドを glColor4f(1.0f, 1.0f, 1.0f, 0.6f) でペイントし、バッファーが glColor4f(1.0f, 0.0f, 0.0f, 1.0f) で満たされている場合、最終的な操作は次のようになります。
(1.0f, 1.0f, 1.0f) * ALPHA + (1.0f, 0.0f, 0.0f) * (1 - ALPHA)
(0.6f, 0.6f, 0.6f) + (0.4f, 0.0f, 0.0f)
したがって、最終的な色は (1.0f, 0.6f, 0.6f) です。