西川善司の3DGE:AMDのVR向けSDK「LiquidVR」は,VRフォーマット戦争の調停者となりうるのか
http://www.4gamer.net/games/032/G003263/20150315001/
LiquidVRのSDK 1.0では,大きく分けて下に挙げる4つの機能要素が盛り込まれることになった。
1.Latest Data Latch(最新データの受け取り)
「頭部の向きの最新状態」につじつまが合うよう,映像の描画にあたって「位置ずらし」する
Oculus VRは「TimeWarp」,ソニー・コンピュータエンタテインメント(以下,SCE)は「Temporal Reprojection」と呼んでいる。
VRでは,TimeWarp処理が欠かせない。
2.Asynchronous Shaders(非同期シェーダ)
「現在実行されているシーンの描画」と並行して,現在表示されている全フレームに対して,最新の頭部の向き状態と辻褄の合うTimeWarp処理を行って,表示する
これはAMDのGCNアーキテクチャが持つ特徴とのこと。
グラフィックス描画に影響を与えず,同時に別処理をGPGPUで行える。
これは競合のGPUにはない特徴だ」
3.Affinity multi-GPU(高効率なマルチGPU活用)
VRの場合はむしろ,その時間軸において切り取ったシーンの描画を早く終えることを目的として複数のGPUを活用したほうが効果が大きい。
GPUを2基搭載するシステムにおいては,2基あるGPUをそれぞれ左目用と右目用の映像描画に割り当てる仕組みを実装したのだ。
4.Direct-to-Display(ディスプレイへの直接表示)
~HMDを使いやすくするための機能群
1つは,HMDの表示仕様の違いを吸収するような機能
2つめは,デスクトップ環境を維持したまま,HMDに対してだけVR映像を出力,Eyefinityを応用
3つめは,表示中のフロントバッファに描画することができる機能を搭載している。
「この機能をAsynchronous Shadersと併用することで,TimeWarp処理をしているそばからHMDに対して映像を出力していける」
要約すると、1.がVRの必須処理、2と3と4はソレを支える技術だな
AMDはMantleの応用で2と3を、Eyefinityの応用で4を実現している
多分Mantle向けに作ってたのをDX12やVulkan向けに作りなおしたんだろう