HEXA BLOG

研究・開発

HEXA BLOGその他研究・開発2011.2.16

Morphological Antialiasing

先週今週と全国で雪雪が降りましたね。皆さんいかがお過ごしでしょうか。
自宅花壇が雪で埋まってしまいました。イワサキです。手(パー)
さて、今日は技術的な話題ということでアンチエイリアシングのお話をしてみたいと思います。ぴかぴか(新しい)
その中でも今ゲーム界で最もホットなアンチエイリアシング技法であろう『Morphological Antialiasing』を紹介してみたいと思います。
Morphologicalの発音は「モーフォロジカル(発音記号:m`ɔɚfəlάdʒɪk(ə)l)」で意味は「形態学的な, 形態学の, 形態上の, 形態的な」という意味です。
Morphological AntialiasingはMLAAと略されるようです。(以後MLAAと記述します)
この技法がゲームCGの世界で脚光を浴びたのは去年発売された『God of War III』で採用されたことが発端になります。
■Morphological Antialiasing in God of War III (Real-Time Rendering)

Morphological Antialiasing in God of War III


上記の記事では「PS3のSPU1基で20ms掛かっていたものを5基並列で最適化した結果、4msで実行可能になった」ということが紹介されています。
この技法は一般的なマルチサンプルアンチエイリアシング(MSAA)とは異なり、ポスト処理でフィルタ的にアンチエイリアシングを施す技法です。
例えとして正確ではないかもしれませんが「エッジ検出アンチエイリアシングの高精度判定版」というイメージです。ひらめき
MLAAの特徴は、このエッジ検出にあり、エッジのエイリアシング(俗に言うジャギー)の形状を認識します。
(※論文内の図より抜粋です)
2011-02-16-1.jpg
そしてそれぞれの形状に適した専用のブレンドフィルタ処理を行ないます。
(※論文内の図より抜粋です)
2011-02-16-2.jpg
これによって必要最小限のブレンドぼかし処理となり、エッジ検出系のフィルタのなかで一線を画した高品質なものになっています。
原典の論文には品質は16xMSAAに匹敵すると記述されています。
実際にも高品質な見え方になっていました。
【出典】
■Morphological Antialiasing (pdf)

Alexander Reshetov – Intel Labs
http://visual-computing.intel-research.net/publications/papers/2009/mlaa/mlaa.pdf

2010-10-14-0.png

では早速ですが恒例の実験タイムですひらめき
ヘキサエンジンのデモシーンを利用して検証してみます。こちらのシーンです。
2011-02-16-3.jpg
今回は技術デモプログラムとしてではなくスクリーンショットのみとさせていただきます。
デモを楽しみにされていた方には申し訳ありません。ふらふら
又の機会に紹介させていただきたいと思います。
少し上からのアングルで比較検証してみます。
この中から際立って違いがわかる部分を拡大してみます。目
2011-02-16-4.jpg

2010-10-14-0.png

上の図のA・B・Cの部分を拡大してみます。特に注目の部分は赤い矢印で示します。
まずはの部分から。
2011-02-16-5.jpg
劇的ですね。エッジのギザギザ感が完全になくなって綺麗になっています。
16xMSAA相等というのも頷けます。非常に美しい結果になっています。グッド(上向き矢印)
続いての部分。
2011-02-16-6.jpg
グリとブランの石像の曲面の滑らかさが良く出ています。
階段の段差の縁もツルッと綺麗ですね。グッド(上向き矢印)ぴかぴか(新しい)
そして最後にの部分。
2011-02-16-7.jpg
右上の石柱の根元は非常に美しいエッジになっています。
…ところが、ヘキサドライブのEのマーク部分を見てみるとどうでしょうか。
なんだか歪んでいますあせあせ(飛び散る汗)。縁が削り取られたように丸くなっています。バッド(下向き矢印)
画像認識処理でアンチエイリアシングを行なうMLAAの弱点がここです。
どうしても誤認識は起きてしまい、その場合にこのような意図しない結果を生む場合があります。
HUDなどのメニュー表示や文字の描画などに影響がでてしまう場合がありますので、MLAAをかけた後にメニューHUDを描画していくのが得策でしょう。手(チョキ)

2010-10-14-0.png

この技術はPlayStation3のCellの独壇場かと思われがちですが、Xbox360のGPUやPC上でも同様に実現が可能です。
AMD Radeon HD6000シリーズの発表以後、WindowsではCatalystドライバでも標準でサポートされました。
興味のある方はお手持ちのゲームでこのMLAAの威力を体験できますよわーい(嬉しい顔)
下記4Gamerのサイトの記事の中にもMLAAに関する技術紹介記事がありました。
■「Radeon HD6800」徹底分析。HD 5800から何が変わったのか?(4Gamer.net)
http://www.4gamer.net/games/016/G001684/20101105022/
このMLAAはその他にも大きな可能性を秘めており、MLAAのコストがMSAA有効時の増えるコストよりも下回るのであれば利用する価値が大いにあります。
MSAAを使わないことでメモリ帯域の消費が抑えられます。
各プラットフォームの性能を最大限に発揮できる足がかりがこのMLAAでもたらされたとも言えると思います。
誕生日で一歳年を取りました。アンチエイリアシングよりもアンチエイジングがまず開発されてほしい今日この頃です

ヘキサエンジンはこれからもどんどんパワーアップしていきます。パンチ
ぴかぴか(新しい)

RECRUIT

大阪・東京共にスタッフを募集しています。
特にキャリア採用のプログラマー・アーティストに興味がある方は下のボタンをクリックしてください

RECRUIT SITE 

NEWS