From bde26764b25a4481add2bf6472d09b4dda9712f3 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Mon, 1 Jun 2020 17:59:47 -0700 Subject: [PATCH 1/2] Specify the full nature of native and effectve origins --- index.bs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 79d9d0da..8c3fb2bc 100644 --- a/index.bs +++ b/index.bs @@ -1098,7 +1098,11 @@ An {{XRSpace}} represents a virtual coordinate system with an origin that corres Each {{XRSpace}} has a session which is set to the {{XRSession}} that created the {{XRSpace}}. -Each {{XRSpace}} has a native origin that is tracked by the [=XRSession/XR device=]'s underlying tracking system, and an effective origin, which is the basis of the {{XRSpace}}'s coordinate system. The transform from the effective space to the [=native origin=]'s space is defined by an origin offset, which is an {{XRRigidTransform}} initially set to an [=identity transform=]. +Each {{XRSpace}} has a native origin which is a position and orientation in space. The {{XRSpace}}'s [=XRSpace/native origin=] may be updated by the [=XRSession/XR device=]'s underlying tracking system, and different {{XRSpaces}} may define different semantics as to how their [=native origins=] are tracked and updated. + +Each {{XRSpace}} has an effective origin, which is the basis of the {{XRSpace}}'s coordinate system. + +The transform from the effective space to the [=native origin=]'s space is defined by an origin offset, which is an {{XRRigidTransform}} initially set to an [=identity transform=]. In other words, the [=effective origin=] can be obtained by [=multiply transforms|multiplying=] [=origin offset=] and the [=native origin=]. The [=effective origin=] of an {{XRSpace}} can only be observed in the coordinate system of another {{XRSpace}} as an {{XRPose}}, returned by an {{XRFrame}}'s {{XRFrame/getPose()}} method. The spatial relationship between {{XRSpace}}s MAY change between {{XRFrame}}s. From 0b1b51a4da7abadc7255d0cbe42315f65515ff5e Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Mon, 1 Jun 2020 18:00:25 -0700 Subject: [PATCH 2/2] Copying native origins is not worthwile since they will be updated later, copy the type --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 8c3fb2bc..8a552721 100644 --- a/index.bs +++ b/index.bs @@ -1227,7 +1227,7 @@ The getOffsetReferenceSpace(|originOffset|) Else
Let |offsetSpace| be a [=new=] {{XRReferenceSpace}} in the [=relevant realm=] of |base|. - 1. Set |offsetSpace|'s [=native origin=] to |base|'s [=native origin=]. + 1. Set |offsetSpace|'s [=XRReferenceSpace/type=] to |base|'s [=XRReferenceSpace/type=]. 1. Set |offsetSpace|'s [=origin offset=] to the result of [=multiply transforms|multiplying=] |base|'s [=origin offset=] by |originOffset| in the [=relevant realm=] of |base|. 1. Return |offsetSpace|.