XRDisplaySubsystem
An XRDisplaySubsystem controls rendering to a head tracked display.
Read time 4 minutesLast updated 2 days ago
Definition
- Type: Class
- Namespace: UnityEngine.XR
- Assembly: UnityEngine.XRModule
- Inherits from: IntegratedSubsystem<XRDisplaySubsystemDescriptor>
- Implements: ISubsystem
public class XRDisplaySubsystem : IntegratedSubsystem<XRDisplaySubsystemDescriptor>, ISubsystem
Properties
Property | Description |
|---|---|
| appliedViewportScale | The portion of the allocated display texture used by the active stereo device for the current frame. |
| contentProtectionEnabled | Sets or gets the state of content protection for the current active provider. |
| disableLegacyRenderer | Disables the legacy renderer while this XRDisplaySubsystem is active. |
| displayOpaque | Determines if the current attached device has an opaque display. |
| foveatedRenderingFlags | Controls optional behavior of the foveated rendering system. |
| foveatedRenderingLevel | Controls the intensity of the foveated rendering system. |
| hdrOutputSettings | The HDROutputSettings for the XR Display Subsystem. |
| occlusionMaskScale | A scale applied to the standard occulsion mask. |
| reprojectionMode | The kind of reprojection the app requests to stabilize its holographic rendering relative to the user's head motion. |
| scaleOfAllRenderTargets | Controls the size of the textures submitted to the display as a multiplier of the display's default resolution. |
| scaleOfAllViewports | Controls how much of the allocated display texture should be used for rendering. |
| supportedTextureLayouts | Specifies all texture layouts supported by this display subsystem. This var is a bit field that could be combination of XRDisplaySubsystem.TextureLayout. |
| textureLayout | Set DisplaySubsystem to use certain texture layout. Should query supported texture layout through supportedTextureLayouts first for the capabilities. |
| zFar | Set DisplaySubsystem to use zFar for rendering. |
| zNear | Set DisplaySubsystem to use zNear for rendering. |
Methods
Method | Description |
|---|---|
| AddGraphicsThreadMirrorViewBlit | This function records the display subsystem's native blit event to the target command buffer. This function is typically called by a scriptable rendering pipeline. |
| BeginRecordingIfLateLatched | This function enables late latching recording of constant buffer memory locations which are later patched with the latest pose data. |
| EndRecordingIfLateLatched | This function disables late latching recording of constant buffer locations. |
| GetCullingParameters | Gets culling parameters for a specific culling pass index. |
| GetMirrorViewBlitDesc | Get a mirror view blit operation descriptor from the current display subsystem. |
| GetPreferredMirrorBlitMode | Returns the XR display's preferred mirror blit mode. |
| GetRenderPass | Gets an XRDisplaySubsystem.XRRenderPass of a specific index. |
| GetRenderPassCount | The number of XRDisplaySubsystem.XRRenderPass entries for this XR Display. |
| GetRenderTexture | Given the UnityXRRenderTextureID returned by IUnityXRDisplayInterface::CreateTexture, return the managed UnityEngine.RenderTexture instance. |
| GetRenderTextureForRenderPass | Given a render pass, return the RenderTexture instance backing that render pass. If the render pass is invalid, or if the render texture does not exist, return null. |
| GetSharedDepthTextureForRenderPass | Given a render pass, return the shared depth buffer RenderTexture instance backing that render pass. If the render pass is invalid, or if the render texture does not exist, return null. |
| MarkTransformLateLatched | This marks a given GameObject's transform to be late latched in the next frame. Once marked for late latching, the GameObject transform and its descendants will be updated with the latest VR pose updates before rendering is submitted to the GPU. |
| SetFocusPlane | Sets a point in 3D space that acts as the focal point of the Scene for this frame. This helps to improve the visual fidelity of content around this point. You must set this value every frame. |
| SetMSAALevel | Set MSAA level for the DisplaySubsystem's render texture. |
| SetPreferredMirrorBlitMode | Override the XR display's preferred mirror blit mode from the script. |
| TryGetAppGPUTimeLastFrame | Retrieves the time the GPU has spent on executing commands from the application's last frame, as reported by the XR Plugin. Measured in seconds. |
| TryGetCompositorGPUTimeLastFrame | Retrieves the amount of time that the GPU spent executing the compositor renderer during the last frame, as reported by the XR Plugin. Measured in seconds. |
| TryGetDisplayRefreshRate | Retrieves the refresh rate of the display as reported by the XR Plugin. |
| TryGetDroppedFrameCount | Retrieves the number of dropped frames reported by the XR Plugin. |
| TryGetFramePresentCount | Retrieves the number of times the current frame has been drawn to the device as reported by the XR Plugin. |
| TryGetMotionToPhoton | Retrieves the motion-to-photon value as reported by the XR Plugin. |
Events
Member | Description |
|---|---|
| displayFocusChanged | Event sent when XR display focus changes. |
Structs
Struct | Description |
|---|---|
| XRDisplaySubsystem.XRBlitParams | This struct holds data for a single blit operation. |
| XRDisplaySubsystem.XRMirrorViewBlitDesc | All information in this struct describes the desired mirror view blit operation. |
| XRDisplaySubsystem.XRRenderParameter | A single viewpoint that must be rendered by the render pipeline. Contains a target viewport and texture array slice within a corresponding renderTarget. |
| XRDisplaySubsystem.XRRenderPass | Contains configuration parameters about which view into the Scene the renderer should rasterize, and a render target (which can be a texture array) for the result of the rasterization. |
Enums
Enum | Description |
|---|---|
| XRDisplaySubsystem.FoveatedRenderingFlags | Optional flags to control the foveated rendering system. |
| XRDisplaySubsystem.LateLatchNode | Type of node to be late latched. |
| XRDisplaySubsystem.ReprojectionMode | The kind of reprojection the app requests to stabilize its holographic rendering relative to the user's head motion. |
| XRDisplaySubsystem.TextureLayout | Flags that represents supported texture layout. |