お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2010/03/14 17:36

ニュース

[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際

画像集#001のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
 DirectX 11で開発されたゲームというと,どうもポストエフェクトの話題ばかりでいま一つ盛り上がりに欠けるとお嘆きの諸兄のために,テッセレーションの講演の模様をお届けしよう。ということで,3月12日,テッセレーションのエキスパートを自認するAMD Relations GroupのBill Bilodeau氏による講演が行われた。ちなみに,エキスパートとは「非常に狭い分野で,ありとあらゆる失敗を経験した人」(ニールス・ボーア)だそうだ。
 
 冒頭,Bilodeau氏が会場に集まった聴講者に「テッセレーションを試したことがある人?」と聞いたところ,ちらほら手が上がっていたので,最新技術をゲームに取り込む動きは進んでいるようである。なお,このセッション自体は,DirectX 11での具体的なコードによる実装の話が中心なのだが,コードの内容には踏み込めないので,概要だけ紹介しておこう。

 まず,なぜテッセレーションを行うかについてだが,テッセレーションには数多くのメリットと一つのデメリットがあるという。すなわち,

  • 表現が簡潔
  • リアルタイムで無段階のLODが可能
  • 輪郭が綺麗
  • 3DCGツールの曲面データをそのまま表示可能
  • アニメーションは分割前のモデルで行われるので高速

といったメリットがある半面,

  • テッセレーションは不要である

画像集#008のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
というデメリットが指摘されている。ポリゴンが小さすぎて見えないとか,分割しすぎなきらいがあるようだ。確かに,レースゲームで画面の端を一瞬で通りすぎていく旗を指差して「これがテッセレーションで表現されてるんです」といわれても,正直,あまりありがたみを感じない。
 面白いのは,講演のデモ中に「ワイヤーフレームに切り換えます」と操作しても見た目がまったく変わらないことも多く,きわめてポリゴン数の多いワイヤーフレームはテクスチャを貼っていないポリゴンとまったく変わらないくらいの高密度になっているのがよく分かり,次世代レンダリングシステムの候補として,ポイントレンダリングの話が出てくるのも納得できる。
 テッセレーションを,単に使うのではなく,どううまく使っていくかが重要になりそうだ。

 さて,講演では最初に単純な例を二つ,そして応用的な例を示すというかたちで,コードの提示とデモが行われた。
 単純なテッセレーションの指定,これはポリゴン2個で構成された平面に対して,単純にテッセレーション処理を施すもので,横から見てもはっきりとした凹凸が生成されており,元が単なる平面だとは思えないくらいの効果を発揮している。

画像集#002のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#003のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
画像集#004のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#005のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
画像集#006のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#007のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際

画像集#011のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
 単純なテッセレーション処理に続き,今後期待されているパラメトリック曲面による形状表現のサンプルが示された。これは,形状をカクカクしたポリゴンではなく,形状を曲面の数式とパラメータで表現するようなものだと思っておけばいいだろう。拡大してもエッジがカクカクしないというのが最大のメリットである。
 Bi-Cubicベジエ曲面が適しているとして,そのサンプルが示された。
 いまのところ,DirectX 11のテッセレーションで自由曲面を扱う場合,決まってベジエ曲面が持ち出されるのだが,ベジエ曲面を扱う3DCGツールは,いま一つ少数派かもしれない。国産CGツールのShadeシリーズでは伝統的にサポートされているが,世間一般では自由曲面というとNURBS(Bスプライン系の曲面)を使うモデラーのほうが多いように思われる。DirectX 11のテッセレータでNURBSの実装もできないわけではないだろうから,本格的なパラメトリック曲面がゲームに実装されるようになるのは,NURBSの実装が終わってからではないだろうか。

画像集#009のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#010のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
画像集#012のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#013のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
画像集#014のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#015のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際

画像集#016のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
 上記の基本的な2例に続いて,氏が応用例として提案するのは「デカール」式のテッセレーションだ。
 これは形状の一部が破壊された場合などの変形を,テッセレーションで処理するもので,形状の一部を貼り替えたかのような雰囲気のものになる。形状全体を細分化するのではなくて,変化のある部分だけをテッセレートするため,効率も上がっている。おそらく,ある程度効果的にテッセレーションを活用する方向としては,デカール方式が最適なのだろう。“エキスパート”である氏が選んだのだから間違いはない(?)。

画像集#017のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#018のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
画像集#019のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#020のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
画像集#021のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#022のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際

画像集#023のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
 ただ,そのままだと,解説している氏も,
 「遅いです。8ピクセル未満のポリゴンって効率悪いんですよ」
と述べているように,ポリゴン数を無数に増やしているわけなので,当然ながら処理は重くなる。
 そこで,距離によって適当に間引くLOD処理が重要になってくる。テッセレーションにはLOD処理が必須というか,それを動的に行わないのなら,最初からハイポリゴンのデータを使っていればいいだけの話になってしまう。分割すること自体に意味があるのではなくて,いわゆるアダプティブなテッセレーションで動的に制御することが,そもそも目的なのだ。
 実際,距離によって適切に間引きを行わないと高い負荷になることが示されており,LODを使った実装ではfpsが上がるのが確認できる。
 さらに,「変化してるところだけでいいですよね」とか「裏面は描かなくてもいいですよね」とやっていると,だんだん実行速度も上がってくる。
 このように,テッセレーションは,最適化次第でかなりパフォーマンスが変わってくるようだ。今後登場してくると思われる,テッセレーション活用タイトルを見る際の予備知識として,頭の隅に置いておくとよいかもしれない。

画像集#024のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#025のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#026のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
画像集#027のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#028のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#029のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
画像集#030のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#031のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#032のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
画像集#033のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#034のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際 画像集#035のサムネイル/[GDC 2010]AMDのエキスパートが語る「DirectX 11」におけるテッセレーションの実際
  • 関連タイトル:

    DirectX

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月17日〜12月18日