3DMark11のレンダリング技術の解説記事を4Gamer向けに書きました。
1月に入稿していた原稿でしたが、担当編集者が事故で大怪我をし、さらにその後の大震災など、いろいろあって、掲載が大分遅れてしまいました。後編の執筆も遅れております。
さて、3DMark11ですが、名前にある"11"は、2011年の"11"と、DirectX11の"11"のダブルミーニングといわれています。
実際、後者の意味の重みは相当なもので(?)、3DMark11は動作環境として、DirectX11未満、すなわちDirectX10以下を切り捨てるという大胆な足切りに踏み切っています。
西川善司の3Dゲームエクスタシー:完全理解「3DMark 11」(前)~レンダリングエンジンの秘密
http://www.4gamer.net/games/110/G011050/20110401056/
DirectX11専用になったことで、3DMark11では、DirectX11専用フィーチャとなっているテッセレーションステージの積極採用や、DirectComputeの効果的な活用を行っています。
テッセレーションはフォンテッセレーション法を実装しており、ユニークなことに、ポリゴン分割度数は視点からの遠近ではなく、対象とするポリゴン(三角形)の一辺のドット数に配慮する方式になっています。つまり、同一シーンでも、高解像度であればあるほどポリゴンが細かく分割されると言うことです。この辺りはベンチマークソフトらしい実装と言えるかも知れません。
それと、ポストプロセスをDirectComputeを用いている点もユニークです。
具体的にはDirectComputeでレンダリング結果をFFTして周波数領域へと変換し、周波数領域のフィルタをかけて、再び、iFFTで映像に戻すというアプローチになっているのです。
例えばぼやっと溢れ出すブルームエフェクトならば高周波成分を低減し、低周波成分を支配的にするようなフィルタを周波数領域で掛けることになります。
DirectComputeを使ったレンダリング支援というのは、最近台頭してきており、DICEが開発中の「Battlefield3」用ゲームエンジンのFROSTBITE2エンジンではDeferred RedneringにおけるライティングフェーズをDirectComputeで行わせる設計としました。
DirectX11、ややスロースターターという感じがしないでもないですが、盛り下がったまま終わってしまったDirectX10よりはいい時代になりそうな感じはします。
Comments