Split」出場チーム情報をお届け。今シーズンの覇者となるのはどのチームかなぜ新スタジオなのか。eスポーツ選手をいかにしてサポートしているのかフォーナインズがゲーミンググラス「PLAIDe」(プレイド)を立ち上げた理由とは。「レジェンド・オブ・ルーンテラ」デッキガイド。STRANDING」の世界をより理解するための“運び方”ガイド姿の見えない世界中のプレイヤーと緩く助け合う。2019]ティガレックスやバフバロの狩猟に挑戦。REMAKE」の最新映像が公開。Technologiesに在籍していた多くの優秀なソフトウェアエンジニアは,AMDとの統合前後にゲーム業界へと散っていった。Games」が開催された。これは,PCゲームだけでなくコンシューマゲームも含め,ユニークかつ先進的な技術を実際の開発者が登壇して解説するという人気のコースセッションである。Tatarchuk氏だ。9:00から17:30というタイムスケジュールで——昼食休憩はあったものの——16人もの開発者が登壇するというこのセッションは,かなりのスパルタ&過密といえるものだったが,実際,興味深い内容がかなり盛り込まれているものだった。今回行われたこのセッションをとても1本のレポートにまとめることができないので,後日いくつかのレポートに分割して詳細をお伝えするとして,今回は,その中からゲームにおける3D立体視表示の話題を現地からお届けしよう。原理は簡単だが負荷が厳しいゲームの立体視表示3D立体視のテレビ放送がほとんど行われていないのに,3D立体視対応テレビがここまで訴求されているアンバランスな状況を理解できないという読者も多いことだろう。実のところ,3D立体視対応テレビは,3D立体視用ディスプレイ的な位置づけで発売されているのだ。その用途は,3D立体視対応のBlu-ray視聴と,3D立体視表示でのゲームプレイということになる。3D立体視でのゲームプレイという点に集中して話を進めるが,ゲームにおける3D立体視表示は,「原理としては簡単」と言われている。これはなぜかというと,平面視表示を行う場合,もともと仮想空間に単眼カメラを配置して,そこからの情景をレンダリングしているわけで,同様の表示を3D立体視表示で行う場合には,カメラを人間の両目に合わせた距離だけ離した2か所に配置し,それぞれをレンダリングをすればいい。この場合,平面視表示のときに比べてレンダリング負荷が2倍になるのは言うまでもない。平面視表示時に60fpsでレンダリングするゲームがあるとして,これを3D立体視表示にするためには,左右の目に向けてそれぞれ60fpsずつ,合計120fpsでレンダリングしなければならない。そのため,GPUパワーをギリギリまで使い込んでいるゲームを3D立体視表示にするのは,技術的にではなく負荷的に厳しいとされている。そこで,GPU負荷を軽減するためによく用いられるのは,レンダリング解像度を半分にしてしまうという手法だ。いうことかというと,1280×720ドット解像度で60fpsのゲームがあったとして,これを640×720ドット解像度に下げたうえで,左右の目に向けてそれぞれ60fpsずつレンダリングし,1280×720ドット解像度へと拡大表示(スケールアップ)するのである。2」もそのひとつとして挙げられる。2では,上記のように2眼分をレンダリングするという手法を採用していないという。Schulz氏は,「解像感を下げずに,平面視表示時に近いクオリティで3D立体視表示を可能にさせたかったため」と述べている。2で採用した3D立体視表示技術は何かということになると思うが,それは平面視表示用にレンダリングした結果を3D立体視表示用に変換する手法だ。Reprojection」(画面座標系手法:再投射法)と呼んでいる。広義には,疑似3D立体視表示といってもいいのかもしれないが,本当の3次元情報を基に3D立体視表示へと変換しているので,まるっきりウソというわけでもない。ある画素に対応した深度値が分かっていれば,視点がずれるとどうずれて見えるかを計算できるそもそも3Dグラフィックスは,2次元表示といえども,3次元空間でレンダリングを行っている。GPUを使った一般的手法では,最終的なレンダリング結果ができるまでの過程において,画面上のピクセルに1対1で対応した奥行き情報の副産物,いわゆる「深度バッファ」もしくは「Zバッファ」と呼ばれるものができているわけだ。これらのバッファは本来,前後関係が矛盾するような2重レンダリングを避けたり,不要な描画を省略するための処理系に用いられるのだが,この値を利用して3D立体視表示へと変換するのが画面座標系手法:再投射法である。2で3D立体視表示を行っているのかだが,その前に「この深さを示すバッファから分かる深度値によって何ができるのか」を説明しておきたい。ある画素に着目したとして,この場所を左右の目で見たときにどの程度ずらせばいいのかを知りたいといった場合,その画素に対応した深度値さえ分かれば,できあがった平面視表示のレンダリング結果からでも,どの程度左右にずれているべきなのかを逆算できるのだ。平面視表示用レンダリング結果と,深度値さえあれば,3D立体視表示に必要な2つの映像をレンダリングすることができることになる。視点が左右にずれたことによって生じる新しい遮蔽は,近似で対処するというさて,原理が分かったところで,実際の仕組みを見ていこう。画面座標系手法:再投射法では,深度値を用いた逆算に基づき,ピクセルシェーダの画面座標系ポストプロセスを使って,平面視表示のレンダリング結果から左右の目に向けて2つの映像を生成する。実際の処理系としては,深度値からズレ量を逆算し,平面視表示のレンダリング結果をサンプルしていくという流れだ。視点が横にずれることによって遮蔽関係が変わることもあるが,これは2つのケースが想定できる。1つは,視点をずらしたことで,平面視表示時に見えていたものが遮蔽されてしまうケース。この場合は,視線により近い深度値がないかを矛盾がないように探査して,もし値が存在しているならばその値を画素のズレ量にすることで最適化することになる。平面視表示時にフレームで遮蔽されていたものが,立体視表示用に変換することで見えてしまう箇所(Disocclusion)についてはどうしようもないため,背景画素をコピーしてごまかしているとのことだ2つめは,平面視表示時は遮蔽されていて見えなかった部分が,視点をずらしたことで見えないと不自然になるケースだが,この場合は,近くの背景を複製することで対処するという。した箇所は,「おかしい部分」なので矛盾点,というかエラーということになる。2は,ビルが建ち並ぶ現代のニューヨークを舞台にしているため,丸みを帯びた形状のオブジェクトが少なく,さほどエラーを気にする必要がなかったとのことだ。360ともにわずか1msだという。画面座標系手法:再投射法は,いわば2D画像処理ともいえる手法のため,シーンのジオメトリやシェーダの複雑度に依存せず,常に1msの追加コストで済むのが強みである。負荷のわりに十分に満足できる結果だとCrytekは述べていた。費用対効果を考えればこの画面座標系手法:再投射法というアプローチは正解だったと振り返る。2を3D立体視表示でプレイして確かめてほしいなお,この深度値と平面視表示用のフレームを用いた3D立体視表示変換は,HDMIにおける3D立体視表示フォーマットの拡張仕様としても定義されている。裸眼立体視表示は2視点の映像だけではなく,より多視点からの映像を生成する場合もあるのだが,こうした3D立体視表示のために柔軟な映像フォーマットとして規定されているわけだ。今のところ,深度値と平面視表示用のフレームとで3D立体視表示を行ってくれる3D立体視表示対応テレビは存在していない。そもそも深度値,というかZバッファは,GPUを用いた場合の副産物なので,テレビが対応していないというのも納得できる話である。今は,Crytekのように1つのフレームをGPUで2つのフレームへと変換しているが,将来的にテレビでこうした処理を行ってくれるような未来がやってくるかもしれない。