Coordinare la sincronizzazione del sistema con Holographic Remoting e l'API OpenXR

Con l'API OpenXR, il sistema di coordinate utente viene sottoposto a wrapping in uno spazio di riferimento di tipo XR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT.

Suggerimento

Un semplice esempio può essere trovato negli esempi di lettore e remoti all'interno del repository github di esempi di Holographic Remoting. Annullare ilcomment #define ENABLE_USER_COORDINATE_SYSTEM_SAMPLE all'interno dei file OpenXrProgramm.cpp e SamplePlayerMain.h per abilitare il codice di esempio.

Importante

Per informazioni sull'API di estensione OpenXR Holographic Remoting, vedere la specifica che è possibile trovare nel repository github di esempi di Holographic Remoting.

Impostare e aggiornare il sistema di coordinate utente nell'app Player

La comunicazione remota holographic supporta attualmente solo la scrittura di un lettore personalizzato con l'API Windows Mixed Reality. Un lettore scritto con l'API Windows Mixed Reality può essere usato con un remote OpenXR! Pertanto, è necessario impostare il sistema di coordinate utente dal lettore Windows Mixed Reality. Per altre informazioni, vedere Coordinare la sincronizzazione del sistema con la comunicazione remota holographic e l'API Windows Mixed Reality.

Ottenere il sistema di coordinate utente nell'app remota

Per creare il sistema di coordinate utente nella chiamata xrCreateReferenceSpace all'app remota con l'argomento XR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT :

xr::SpaceHandle space;
XrReferenceSpaceCreateInfo createInfo{XR_TYPE_REFERENCE_SPACE_CREATE_INFO};
createInfo.referenceSpaceType = static_cast<XrReferenceSpaceType>(XR_REMOTING_REFERENCE_SPACE_TYPE_USER_MSFT);
createInfo.poseInReferenceSpace = xr::math::Pose::Translation({0.0f, 0.0f, 0.0f});
CHECK_XRCMD(xrCreateReferenceSpace(m_session.Get(), &createInfo, space.Put()));

Vedere anche