0

現時点では、HSV 空間で加法混合を使用して色付け効果を行っています。画像テクスチャの個々のピクセルに追加される HSV 空間の diff 値を使用して、目的の色効果を取得します。しかし、フラグメント シェーダーは加算を行うためにコストのかかる 2 つの変換を行う必要があるため、これはコストがかかることが判明しています。

  1. RGB -> HSV
  2. HSV添加
  3. HSV -> RGB

これを行うより良い方法はありますか?差分値は HSV のみで提供されます。最終的な色表現は RGB で描画されます。

どうもありがとう、

サク

4

1 に答える 1

1

RGB でカラー マトリックスを使用すると、HSV 操作と同様の効果を得ることができます。たとえば、r=g=b 軸を中心とした回転は、色相の追加に似ています。(色相チャネルで x 度を追加することは、RGB で r=g=b を中心に x 度を回転させることに似ています。) r=g=b 軸に沿った移動は、値の追加に似ています。(値チャネルに x を追加することは、r、g、および b のすべてに x を追加することと似ているはずです。) そして、r=g=b 軸に垂直な均一なスケールは、彩度の追加に似ています。x を彩度に追加することと RGB でスケーリングすることの間の正確な変換を頭の中で理解していませんが、解決するのはそれほど難しいことではありません。これらのマトリックスを単一のマトリックスに構成し、RGB 値を掛けた単一のマトリックスとして実装できるはずです。

于 2013-04-26T04:25:59.287 に答える