Version: 1.3
语言 : 中文
XR API reference
Single-pass instanced rendering and custom shaders

Stereo rendering

VR and most MRMixed Reality
See in Glossary
devices require rendering the Unity scene in stereo. Unity XR supports two stereo render modes:

  • Multi-pass: in this mode, Unity performs a render pass for each eye. Some parts of the render loop are shared between the two passes, so multi-pass rendering is faster than rendering the scene with two unique cameras. Multi-pass mode provides the widest compatibility with existing shaders and rendering utilities, but is slower than single pass instanced mode.
  • Single-pass instanced: in this mode, Unity renders the scene in a single pass using instanced draw calls. This mode greatly decreases CPU usage and slightly decreases GPU usage compared to the multi-pass mode.
  • Multiview: A variation of single-pass instanced rendering supported by some OpenGL and OpenGL ES devices. This option replaces single-pass instanced when available.

Note: The earlier technique of rendering the scene into a double-wide texture using a single render pass is no longer available.

See How to maximize AR and VR performance with advanced stereo rendering for background information. Single-pass instanced stereo rendering is now available on most VRVirtual Reality More info
See in Glossary
platforms.

Set the render mode

You can find the Render mode setting under XR Plug-in Management in Project Settings. Each XR provider plug-in provides its own setting, if supported.

To set a render mode:

  1. Open Project Settings (menu: Edit > Project Settings).

  2. Expand the XR Plugin Management section, if necessary.

  3. Select the settings page for the relevant provider plug-in.

  4. Choose a mode from the list.


    Render mode options in the MockHMD provider plug-in

Note: Some plug-ins name the setting Stereo Rendering Mode.

Single-pass instanced render mode support

Single-pass instanced render mode is supported on the following platforms and devices:

  • 支持 Multiview 扩展的 Android 设备
  • HoloLens
  • PlayStation VR
  • PC devices (tethered):
  • For DirectX on desktop, the GPU must support Direct3D 11 and the VPAndRTArrayIndexFromAnyShaderFeedingRasterizer extension.
  • 对于桌面平台上的 OpenGL,GPU 必须支持以下扩展之一:
    • GL_NV_viewport_array2
    • GL_AMD_vertex_shader_layer
    • GL_ARB_shader_viewport_layer_array

If you set the Render Mode to Single Pass Instanced when that mode is not supported, then rendering falls back to multi-pass mode.

Note: Unity doesn’t support single-pass stereo instancing in the built-in, legacy render pipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
See in Glossary
when using deferred rendering.

XR API reference
Single-pass instanced rendering and custom shaders