Pixel Benderでスーパーサンプリング方式によるアンチエイリアスを試してみよう

ドッターのアンチエイリアス感覚を実装した例は見事に失敗したわけだ(^^);

こうなったら,スーパーサンプリング方式のアンチエイリアスを試してみるしかない!

Pixel Benderのフィルターに入れる画像(フォント描画)は無理矢理に何倍かしておけばどうにでもなる。問題は,Pixel Benderでいかに縮小するかだ。調べてみると,この問題に関しては豊富に情報があった。

アルゴリズム入門 : 第 4 章 画像処理入門 2
ニアレストネイバーやバイリニアなどのアルゴリズムについて。

リサンプリングエンジン R13 - FineView Software Labs
各種縮小アルゴリズムの性能評価について。

Bilinear Resampling, ShaderJob, Pixel Bender And Flash Player
バイリニアで縮小するPixel Benderのフィルタそのものを公開されている。非同期ではなく,同期でShaderを使うためのShaderJobについても非常に参考になる。Pixel Benderでは,バイリニアフィルタの実装がほんの数行でできることに驚いた。

Bicubic resampling by Pixel Bender | Andy Li's Blog
バイキュービックで拡大するPixel Benderのフィルタそのものを公開されている。

結局,2倍の大きさにしたTextFlowを含むDisplayObjectに,Brooks Andrusさんのバイリニアフィルタを使用して50%縮小してアンチエイリアス具合を確かめてみた。

前の実装よりはマシだったものの,やはりとてもアンチエイリアスとは言えない効果だった。

もっとダメなのは,テキストを2倍の大きさにするために本来100のフォントサイズを200としたが,フォントサイズ2倍は必ずしもピクセルサイズ2倍という意味ではないようで,フィルターで50%表示にしても100のフォントサイズの時と表示の大きさが異なることだ。

ダメだなこりゃ。

コメント

  1. フォントサイズとピクセルサイズはノットイコールなんですね。難しいなぁ、この問題は。
    ただWindowsユーザーのPCに入っているフォントでギザらない文字入力を実現したいだけなのにぃ~!Macでは問題ないのに~!

    返信削除

コメントを投稿

このブログの人気の投稿

レオナルド・ダ・ビンチはなぜノートを「鏡文字」で書いたのか?

macでsmb(samba)共有サーバーに別名で接続(別アカウント名で接続)する方法

Google DriveにCURLでアップロードするには?