C Specification

The XrFacialSimulationDataBD structure is defined as:

// Provided by XR_BD_facial_simulation
typedef struct XrFacialSimulationDataBD {
    XrStructureType    type;
    void*              next;
    uint32_t           faceExpressionWeightCount;
    float*             faceExpressionWeights;
    XrBool32           isUpperFaceDataValid;
    XrBool32           isLowerFaceDataValid;
    XrTime             time;
} XrFacialSimulationDataBD;

Members

Member Descriptions
  • type is the XrStructureType of this structure.

  • next is NULL or a pointer to the next structure in a structure chain.

  • faceExpressionWeightCount is a uint32_t describing the count of elements in faceExpressionWeights array.

  • faceExpressionWeights is a array of float that will be filled with weights of facial expression blend shapes.

  • isUpperFaceDataValid is an XrBool32 representing the validity of upper face, generally the eyes and its surrounding area

  • isLowerFaceDataValid is an XrBool32 representing the validity of lower face, generally the mouth and its surrounding area

  • time is the XrTime time at which the returned expression weights were tracked

Description

The XrFacialSimulationDataBD structure contains the facial expression weight. See XrFacialSimulationModeBD for details and for how this interacts with lip expression tracking.

The runtime must fill the faceExpressionWeights array ordered so that it is indexed using the corresponding facial expression enum XrFaceExpressionBD.

An application must preallocate the output faceExpressionWeights array that can contain at least faceExpressionWeightCount of float. The value of faceExpressionWeightCount must be XR_FACE_EXPRESSION_COUNT_BD.

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-2025 The Khronos Group Inc.