« 自分でやったのに忘れてしまったこと・・・。 | Home | ユージン先生はLet's knifeはアウト、でも原爆オナニーズはアリ。 »

Jan 202008

polar coordinate transformation

今やっている案件でPolar coordinateをやろうと思ったのだけど、ちらりと世の中に出回っているリソースはほとんどがgetPixel32,setPixel32での力技。

衝撃的だったのは直接srcBMからgetPixel32してsetPixel32しているやつ。
これだと変換後の絵がかなり汚い。(瞬間としての一コマの絵ならありなのだけど)

通常はdisplacementmapのtexture mapをsetPxel32でDrawしているタイプ。
(初回のマップ生成には若干計算時間はかかるだろうけど、2回目からは軽い)

ただこれでもやっぱ汚い・・・。
特にpolar系のような変位量の多くなるパターンでは目も当てられない。(満遍なく汚いw)

変位乗数の母数がカラーチャンネルだから、256階調しかないっつーのが問題なのかもしれんが・・。
(これって-256からもで512だっけな?忘れた)

おそらくPhotShop等の画像処理ソフトの中では上記のような計算をしつつ、
その出力結果に対してConvolutionFilterを適応しているのだろうけど、とりあえずそこまで負荷を毎フレームかけるのは無理ッス。

ということで一度このやり方での実装は挫折して、アナログな実装に切り替えます。
はあー。

Leave a comment

Search and Archives