C Specification

The XrCompositionLayerPassthroughANDROID structure is defined as:

// Provided by XR_ANDROID_composition_layer_passthrough_mesh
typedef struct XrCompositionLayerPassthroughANDROID {
    XrStructureType              type;
    const void*                  next;
    XrCompositionLayerFlags      layerFlags;
    XrSpace                      space;
    XrPosef                      pose;
    XrVector3f                   scale;
    float                        opacity;
    XrPassthroughLayerANDROID    layer;
} XrCompositionLayerPassthroughANDROID;

Members

Member Descriptions
  • type is the XrStructureType of this structure.

  • next is NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.

  • layerFlags is a bitmask of XrCompositionLayerFlags describing flags to apply to the layer.

  • space is the XrSpace in which the pose of the layer mesh is evaluated over time.

  • pose is an XrPosef defining the position and orientation of the layer mesh in the reference frame of the space.

  • scale is an XrVector3f defining the scale of the layer mesh.

  • opacity is a float defining the opacity of the passthrough texture in range [0, 1].

  • layer is an XrPassthroughLayerANDROID previously created by xrCreatePassthroughLayerANDROID.

The XrCompositionLayerPassthroughANDROID contains the information needed to render a passthrough texture onto a triangle mesh when calling xrEndFrame. XrCompositionLayerPassthroughANDROID is an alias type for the base struct XrCompositionLayerBaseHeader used in XrFrameEndInfo.

Description

When the application submits an XrCompositionLayerPassthroughANDROID structure with the created layer and the corresponding meshes provided by XrPassthroughLayerMeshANDROID in the desired layer order, the runtime composites a passthrough layer into the final frame output if passthrough data is ready.

The runtime may composite black pixels in place of the passthrough image if the data is not yet available for a small period of time.

Valid Usage (Implicit)

See Also

Document Notes

For more information, see the OpenXR Specification

This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2026 The Khronos Group Inc.