Stage3Dでエッジ検出を実装(+Away3D)
=前置き=
自作のドット絵エディタの陰付けは法線でやるよりエッジ検出で付けた方がドット絵っぽくなりそうなので、高速化の意味も込めてStage3Dでエッジ検出を試すことにした。
=Flash=
wonderfl build flash online | 面白法人カヤック
ドット絵の陰影付けを目的としているので、エッジの色は「本来の色を0.3倍したもの」とかになるようにした。ゲームによってはエッジの色を専用の色に変更したりするかもしれないが、今回はそこまで考慮していない。
=アルゴリズム詳細=
基本的には今給黎さんの「DirectX9 シェーダプログラミングブック」の「輪郭抽出」の深度バージョンを参考にしている。この本は8年前の本だけど、自分のドット絵エディタの金属マテリアルとかの計算でいまだにお世話になっている。
- 作者: 今給黎隆
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2004/01/01
- メディア: 単行本
- 購入: 11人 クリック: 189回
- この商品を含むブログ (38件) を見る
具体的には以下の手順で輪郭を描画している。(いわゆるポストエフェクト)
- まずは普通に描画する(深度バッファを含めて)
- その後、描画結果に対して以下の処理を1ピクセルずつに対して行う
上の本とは少し処理が違うが、これはドット絵を考慮しているため。