XIIIの秘密〜プログラマブルシェーダを使わなくてもできる効果的な表現(後編)(2/2 ページ)
XIIIのコンセプト「漫画の雰囲気をそのままに3Dゲーム化」する独自の表現方法を解説するこのコラム。今回は旧式GPUでも効果的なビジュアルを実現する仕掛けを解説しよう。
シーンをプログラマブルピクセルシェーダ以外の方法でモノトーン出力する基本概念は次のようになる。まず、シーンをテクスチャーとして事前にレンダリングしておく。このテクスチャーに対し、RGBカラー映像を単色Y(モノクロ)にするためのモノクロ変換の公式である「Y=0.2989×R+0.5866×G+0.1145×B」が適用されるようにテクスチャーステージステート(D3DTSS_COLOROP)を設定してやるのだ。
具体的には、「各テクセルに対して内積演算(上記の公式の計算に相当)を行って、その結果をαRGBのすべてに出力する設定である「D3DTOP_DOTPRODUCT3」を活用する。
具体的なレンダリング手順は次のような流れになる。(1)表示画面サイズ(解像度)そのもののポリゴンを用意し、この頂点カラーをRGB=(0.2989,0.5866,0.1145)とする。(2)このポリゴンに、シーンをレンダリングしたテクスチャーを、前述のテクスチャーステージステートを駆使して貼り付ける。
これでクラシックなGPUの固定パイプラインだけで、モノトーン化したシーンを作り出せるのだ。白飛びした映像なども基本的には同じような手法で作り出すことが出来る。
最後に
PC用3Dゲームは、技術志向に走りがちなタイトルも多く、すべてのファクターを最高レベルで実現しようとするためか、なかなか仕様の最終形がフィックスせずに発売できないタイトルも少なくない。
Half-Life 2やDoom 3などの、最新3Dグラフィックス技術を積極的に活用したハイテクPC3Dゲームは、公開されたスクリーンショットが魅惑であるがゆえに、その登場がとても待ち遠しい。しかし、出てきてくれなければ、ユーザーはゲームとして遊べないわけで、いかに美しいスクリーンショットやムービーといえども映像作品にしかすぎず、ゲームではない。
これに対し、XIIIは、掲げたコンセプトを具現化するために必要最低限のテクノロジーだけを選択して使用する方策で完成に漕ぎ着けている。たしかに、XIIIは開発に3年もかかっているのでプロジェクトとしては決して短くはないのだが、少なくともテクノロジーの開発に時間がかかったわけではない点には注目すべきだろう。裏を返せばゲームの設計に時間がかかったことであり、その分、ゲームとして確かに非常に良く出来ている。
ローテクで開発された、といってしまうのは言いすぎだとしても、高いハードスペックを必要とせずに、バリュークラスの格安PCやノートPCなどでも快適に手軽に楽しめる3Dゲームとして制作されたXIIIは、PCハードウェアが特定機能だけに特化して多様化が進む昨今において、PC用3Dゲームの進化の一つとして待ち望まれた新しいスタイルといえなくはないだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.