Floyd-Steinberg ディザリングアルゴリズムはピクセル シェーダーでは実装できないことを私は知っています。そのアルゴリズムは厳密にシーケンシャルであるためです。しかし、視覚的な出力がFloyd-Steinbergアルゴリズムに似ている高度に並列なディザリングアルゴリズムが存在する可能性がありますか?
問題は、ピクセル シェーダー (できれば GLSL) に実装するのに適したディザリング アルゴリズムとは (非常に) Floyd-Steinberg ディザリングに似た出力品質を持つものです。
ところで。マルチパス アルゴリズムは、パスが 2 つ以下になり、それらのパス間の CPU オーバーヘッドが小さくなるまで許可されます。
何か案は ?
編集:
24 ビット カラーから 21 ビット カラーへのディザリングが必要です。
(つまり、8 ビット/チャネルから 7 ビット/チャネルに変換する必要があります。)
EDIT 2
問題をうまく説明できていないかもしれません。だから私は正確な問題を少し拡大しようとします。問題はこれです - この写真
があるとします: 上の写真がありますが、ディザリング アルゴリズムで処理されています:
これは、ディザリングが適切かどうかをテストする手順です:
1. これらの写真を Photoshop で 2レイヤー。
2.レイヤーブレンドモードを「差分」に選択します。
3. レイヤーに対して「表示をマージ」操作を実行して、レイヤーを 1 つだけ取得します。
4. 操作を実行 => イメージ/調整/イコライズ
その後、次のようなイメージを取得する必要があります。
ご覧のとおり、モノトーンの赤色である中央のピクセルはまったくディザリングされていません。また、左右の画像ゾーンのディザリングも少し異なります。このような動作でディザリング アルゴリズムを再構築してみてください。