1

私が知っているように、アルファ構成は基本的にストレートアルファを使用します。しかし、私が見たすべてのGLESブレンディングサンプルコードは、事前に乗算されたアルファを使用しています。これを行うには、これが正しく正しい方法ですか?事前乗算されたアルファは、リアルタイムグラフィックスの通常の方法ですか?

4

1 に答える 1

4

ご覧のブレンドサンプルコードがiPhoneOSをターゲットにしている場合、これはCoreGraphicsとCoreAnimationの両方が事前に乗算されたアルファで動作するためです。したがって、に描画すると事前にCGBitmapContext乗算されたデータが生成され、不透明でないビューのコンテンツは事前に乗算されたアルファ形式で正しく合成する必要があります他のビューの上に。ただし、コンテンツを不透明なビューにブレンドしようとしている場合は、ブレンドが画像データの形式と一致している限り、どちらのアプローチでも機能します。

事前に乗算されたアルファデータには、長所と短所があります。Tom Forsythは、事前に乗算されたalphaの多くの有用なプロパティについて適切に説明しています。主な欠点は、固定関数フラグメント処理の一部の段階(テクスチャ環境、フォグなど)が、事前に乗算されていないアルファを中心に構築されており、事前に乗算されたデータで使用しようとすると、希望する結果が得られない場合があることです。

于 2010-02-28T18:56:00.657 に答える