VR対応となるmacOS レンダリング性能も最適化


Appleは、MacによるVRヘッドマウントディスプレイへのレンダリングをより最適化する機能を、次世代グラフィックAPIであるMetal 2に追加しました。

VRに最適なレンダリング機能を搭載

VRには、通常の平面モニターでの描画以上に、高品質なグラフィックと非常に小さい遅延が要求されます。そのため、GPUとヘッドセットを繋ぐレンダリングパイプラインを特別にチューニングすることは、快適なVR体験を提供する上でとても重要になります。

他のVRプラットフォームでも入念な調整が施されているように、Appleもまた「VRレンダリングを強力かつ専用にサポートする」機能を、新型Macの新しいグラフィックAPIとなるMetal 2に加えています。

Single-pass stereo

VRヘッドセットでは両眼視差(左右の目で見える景色のずれ)による立体視を可能にするため、左右の目それぞれに対してレンダリングを行う必要があります。これをそのまま行うと通常のモニターに比べて2倍のレンダリングを行う必要がありますが、その作業量を低減する機能の一つが「Single-pass stereo」です。

Single-pass stereoを使用すると、GPUは1回のドローコール(描画命令)で左目と右目にレンダリングを行うことができます。Metal 2では、Viewport Arrayと呼ばれる機能によってこれを実現しています。

左目と右目を別々にレンダリングする代わりに、隣り合う両目についてのテクスチャを定義しておくことで、(目の距離に起因する)両眼視差のわずかなずれをそれぞれの目に対してレンダリングすることができます。

Direct-to-display

ダイレクトモードとも呼ばれるDirect-to-displayでは、従来のモニターでのみ必要となるパイプラインの一部を省略することで、GPUがより直接VRヘッドセットにアクセスすることを可能にします。

Direct-to-Displayがない場合、OSはモニターと同じようにVRヘッドセットを認識し、OSのビューを複製・拡張します。一方Direct-to-Displayが用いられる場合、OSはヘッドセットをモニターとして識別せず、既存のウィンドウレイアウトと表示配置を保持します。

これにより、VRコンポジッター(レンダリングされたイメージをVRヘッドセットの表示用に歪める部分)はOSによる追加の待ち時間、パフォーマンス限界、画像の改ざんを起こすことなく、レンダリングされたイメージをヘッドセットのディスプレイに直接提示することが可能になります。

Direct-to-DisplayはVRレンダリングパイプラインの複雑さを軽減するだけでなく、レンダリングされたイメージがOSの干渉なしにVRヘッドセットのディスプレイと完全に一致するため、「VRアプリケーションのウィンドウがデスクトップのどこにあるか」を気にする必要がなく、より快適な体験を提供することができます。

Metal 2は現在開発者向けベータ中のMacOS版「High Sierra」とともに今年後半にリリースされる予定で、現在のSierraと互換性のあるすべてのMacをサポートします。

Unreal EngineやUnityのようなツールを使ってVRアプリケーションを開発する場合はデフォルトでこれらの機能が使用されるため、特別に気にかける必要はありません。ネイティブVRアプリケーションを開発したり、MacOS上で独自のレンダリングエンジンと統合したい開発者は、こうした新しいVR向け機能を利用することが求められます。

(参考)
Road to VR / Apple Adds VR Rendering Essentials to MacOS via Metal 2(英語)
http://www.roadtovr.com/apple-adds-vr-rendering-essentials-to-macos-metal-2-single-pass-stereo-direct-to-display/

Mogura VRはRoad to VRとパートナーシップを結んでいます。

この記事を書いた人

  • 力触覚を中心としたバーチャルリアリティを専攻する学生。幼少期から趣味でゲーム開発を行い、やがてVRにたどり着く。現在はコンテンツ開発やデバイス開発を勉強中。

    Twitter:@FoltTenor

  • Mogura VR編集部では、ライター・編集者を募集しています!