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.
An XRRenderPass can contain more than one XRRenderParameter (viewpoints that the render pipeline renders to the output texture as either different viewports or texture array slices). The render pipeline must query each child XRRenderParameter via GetRenderParameter. The most optimal way to implement an XRRenderPass is to cull first, and then submit draw calls once for the resulting objects. You can also use techniques such as instanced rendering to optimize XRRenderPasses that contain more than one XRRenderParameter.
XRRenderPass is typically consumed by a scriptable rendering pipeline.
cullingPassIndex | An index that a render pipeline can pass to XRDisplaySubsystem.GetCullingParameters to obtain culling information. |
foveatedRenderingInfo | A pointer to a native struct containing platform-specific data for foveated rendering. |
hasMotionVectorPass | A boolean indicating if this render pass contains a motion-vector generation pass. |
motionVectorRenderTarget | The output render-texture target for the motion-vector generation render pass. |
motionVectorRenderTargetDesc | The render texture description for the target texture for the motion-vector render pass. |
renderPassIndex | The index of the render pass (originally passed in to XRDisplaySubsystem.GetRenderPass). |
renderTarget | The output target for the render pass. |
renderTargetDesc | Descriptor that can be passed to RenderTexture.GetTemporary to create temporary textures that match the XR Display render target. |
shouldFillOutDepth | When this is false an optimal renderer can avoid resolving the depth buffer. |
GetRenderParameter | Gets an XRRenderParameter for a specific XRRenderPass. |
GetRenderParameterCount | The number of XRRenderParameter entries for this XRRenderPass. |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.