「ビジュアルアーツ分野 / レンダリング」 の読み解き
先日公開された、CESA ゲーム開発ロードマップですが、一読しただけではほとんどの項目が理解できませんでした。
CESAゲーム開発技術ロードマップ
原因としては用語的に難解なのと、説明が少なく技術内容を特定できなかったからです。そこで、色んな人に聞いたり、手元にある書籍から情報を収集して読み解いてみました。ただ、間違ってる内容もあると思いますし、分からないので飛ばしている項目もあります。もしご存知の方がいらっしゃるようでしたら、コメント宜しくお願いします。
レンダリング
<最新>
- プログラマブルシェーダの活用、HDR・AO・SH・PRT など
- 精細で表現力の高い、ロバストなシャドウイング
<数年後>
では、グラフィックデザイン分野のレンダリングの項から読み解いていきます。まずは最新技術のおさらいから。
HDR
ハイダイナミックレンジ。ここではレンダリング手法の事を指していると思いますが、現実世界に近いダイナミックレンジを正確に記録する手法。レンダリングの際の精度は色々あるようでしたが、PCではFP16、家庭用機ではint8が主流となりつつあるようです。参考として、下記の記事を貼っておきます。
AO
アンビエントオクルージョン。各頂点(ピクセル)の遮蔽情報を表したデータです。手軽にGI(Global Illumination)っぽい柔らかい陰影が表現できます。事前処理としてDCCTool上で頂点カラーや、テクスチャに焼きこむ事もありますし、UnrealEngineなどではリアルタイムで生成しているようです。
SH
Spherical Harmonic(球面調和関数)を用いたライティング。直接光以外の環境光を現す擬似GI。環境マップ(キューブマップ)だと、屋外から屋内に入った際対応できないが、SHを使用すると背景の任意の点で、環境光をサンプリングできるので、キャラクターの周囲の環境が変わっても、正確な環境光が再現できる技術。FPS・広いフィールドのアクションに向いている手法で、バイオハザード5、Gears of War2、KILLZONE2などに採用されています。
PRT
Precomputed Radiance Transfer(事前計算放射輝度伝播)。上記のSHと併せて考えた方が良い技術で、PRTの中のSHってイメージかなと思います。
精細で表現力の高い、ロバストなシャドウイング
ロバストというのは、安定したという意味なので、エイリアスが出にくいシャドウイングの事だと思われる。デプスシャドウ技法の問題点である、シャドウマップの解像度不足によるジャギー問題を改善したPSM(Perspective Shadow Map)法・LSPSM(Light Space Perspective Shadow Map)法の事かと思われます。
ここからは数年後の技術の読み解きとなります。
高スケーラビリティの実現 ジオメトリシェーダ、ジオメトリックイメージなど
これはDirextX11以降のシェーダー技術を指していると思われます。DirextX10で実装されたジオメトリシェーダーに続き、DirectX11では、ハルシェーダー・テッセレーター・ドメインシェーダーが実装されます。これらを使用する事で、アーティストが全てのデータを用意せずとも、実機側でディスプレイスメントマッピング、サブディビジョンサーフェイス*1などを実行し、最終イメージを作り出せるという事です。
例としては、今までアクションゲームなど、カメラアングルが大きく変わるようなゲームでは、LODのモデルデータ(アップ用・遠景用など)をアーティストが全て用意していました。*2それが、今後はモデルを1つ用意し、アップになった時はサブディビジョンサーフェイスの値を細かくしてポリゴンを細かく割り、高密度のイメージを生成。カメラが離れた時は、割りを少なくして負荷を軽減するなど、LODモデルを作る手間が軽減されるようです。また、プログラマブルな処理でジオメトリの総量がコントロールできるようになるので、画面全体の処理負荷をより細かく制御できそうです。
インタラクティブレイトレーシング
大雑把にいうとリアルタイムでレイトレーシングやりましょうって事ですね。最近よく耳にする技術です。特に印象に残っているのが、Radeonのイメージキャラクター(?)のRubyのレイトレーシングデモが、非常に高品質なイメージが生成できていました。
AR・立体視・高フレームレートなど、出力段の進化
AR(Augmented Reality)は拡張現実と呼ばれているものです。ゲームではPS3向けのTHE EYE OF JUDGEMENT、DSi向けの幽霊ゲーム。最近iPhoneアプリでリリースされたセカイカメラなどがわかりやすいと思います。
次に「立体視」。映画では、3Dの立体映画が普及しつつあるので、それが家庭にも来てゲームに使われるという事でしょう。この辺はサラッと。
最後に「高フレームレート」。60fpsを超える映像っていうのは考えれないので、これはどういう事を言っているのかがわかりませんでした。内部的に、120fpsモーションブラーに使う?とかも考えましたが、出力段の処理ではないので、違うっぽいですね。うぅーん。
ベクタ表現、点群表現など形状表現の多様化
まずベクタ表現からですが、これもいくつか受け取り方があります。
もし1つ目であれば、最近海外のタイトルでは採用が進んでいるScaleformなどのミドルウェアを使用した、GUI表現の事となりますし、2つ目であればDirectX11で実装されるハルシェーダー内の処理となります。それとも、もしかしてLocoRoco的なゲームが増えるとかそういう方向???
点描表現についてはさっぱりわかりません…。ひとまず、それっぽい物を下記に貼り付けますが、理解できてないので、なんともです。NPR(ノンフォトリアル)に使う技術でしょうか?
とココまで来て、1つの分野だけでも読み解くのが大変な事が分かってきました。ですので、今後は小分けにして読み解いていきます〜。