/Web APIs


Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The XRProjectionLayer interface of the WebXR Device API is a layer that fills the entire view of the observer and is refreshed close to the device's native frame rate.

XRProjectionLayer is supported by all XRSession objects (no layers feature descriptor is needed).

To create a new XRProjectionLayer, call XRWebGLBinding.createProjectionLayer(). To present layers to the XR device, add them to the layers render state using XRSession.updateRenderState().

XRProjectionLayer objects don't have an associated XRSpace, because they render to the full frame.

EventTarget XRLayer XRCompositionLayer XRProjectionLayer

Instance properties

Inherits properties from its parent, XRCompositionLayer.


A boolean enabling the layer's texture alpha channel.


A boolean enabling optical chromatic aberration correction for the layer if the device supports it, null otherwise.

XRProjectionLayer.fixedFoveation Experimental

A number indicating the amount of foveation used by the XR compositor for the layer. Fixed Foveated Rendering (FFR) renders the edges of the eye textures at a lower resolution than the center and reduces the GPU load.

XRProjectionLayer.ignoreDepthValues Read only Experimental

A boolean indicating that the XR compositor is not making use of depth buffer values when rendering the layer.

XRCompositionLayer.layout Read only

The layout type of the layer.

XRCompositionLayer.mipLevels Read only

The actual number of mip levels in the color and texture data for the layer.

XRCompositionLayer.needsRedraw Read only

A boolean signaling that the layer should be re-rendered in the next frame.

XRProjectionLayer.textureArrayLength Read only Experimental

The layer's layer count for array textures when using texture-array as the textureType.

XRProjectionLayer.textureHeight Read only Experimental

The height in pixels of the color textures of this layer.

XRProjectionLayer.textureWidth Read only Experimental

The width in pixels of the color textures of this layer.

Instance methods

Inherits methods from its parents, XRCompositionLayer and EventTarget.


Registers an event handler of a specific event type on the EventTarget.


Deletes the underlying layer attachments.


Dispatches an event to this EventTarget.


Removes an event listener from the EventTarget.


Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
XRProjectionLayer No No No No No No No No No No No No
fixedFoveation No No No No No No No No No No No No
ignoreDepthValues No No No No No No No No No No No No
textureArrayLength No No No No No No No No No No No No
textureHeight No No No No No No No No No No No No
textureWidth No No No No No No No No No No No No

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.