簡易なディザ処理実装

白黒2値へのディザ処理を作ることできないかなと考えていたんだが、まともにやると誤差拡散程度の実装でもピクセルプロセッサーでは難しい。しかし簡易な実装を思いついたので試してみたところ、意外とよかったので、とりあえずエッセンスだけ書き記しておく。
一応ちゃんとノードグラフは配布予定だ。まだいじっている。
処理結果

元画像は、wikipedeiaのディザのページ中ごろにあるものをお借りした。
https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%82%B6
処理内容
まともに計算すると面倒くさそうなので、フォトショップでいくつかグラデーションのディザ画像をあらかじめ出力して、それをランダムにサンプリングするような手法をとった。この手法はは使える。ランタイムシェーダーを書いている気分。

フォトショからの書き出し画面。古いwebようの書き出しにはディザ設定が存在する。



ディザ画像は3種類用意した、今回のノードグラフでは一番右の物を使っているがやり方によっては真ん中とか左でもよさそうである。なお通常の線形グラデーションのモノクロ値を二乗してグレー領域のディザ情報を増やしたつもりだが、ガンマ値の調整と絡んできてなんかややこしい。

ピクセルプロセッサの現状の中身。
その他結果画像の例
画像入力前にある程度トーンカーブで調整してやるといい感じにできる。白飛びが少ないほうがかっこいい。と思う。


3チャンネル処理するとカラーにもなる。


8色の芸術!
続き
続く!






