Skip to content

Commit b07a386

Browse files
authored
Update samples including SceneUnderstand extension preview2 (#74)
* Update to support winxr 105 runtime, with scene understanding preview2 and reprojection mode extension. * Change license to MIT
1 parent e7a6e70 commit b07a386

File tree

104 files changed

+4261
-3502
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+4261
-3502
lines changed

LICENSE

+18-10
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
1-
Copyright 2019 Microsoft Corporation
1+
Copyright (c) Microsoft Corporation.
22

3-
Licensed under the Apache License, Version 2.0 (the "License");
4-
you may not use this file except in compliance with the License.
5-
You may obtain a copy of the License at
3+
MIT License
64

7-
http://www.apache.org/licenses/LICENSE-2.0
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
811

9-
Unless required by applicable law or agreed to in writing, software
10-
distributed under the License is distributed on an "AS IS" BASIS,
11-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12-
See the License for the specific language governing permissions and
13-
limitations under the License.
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

NOTICE

+126
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
NOTICES
2+
===
3+
4+
https://github.com/microsoft/OpenXR-MixedReality.git
5+
6+
OpenXR Samples for Mixed Reality Developers
7+
8+
This repository is licensed under the MIT license,
9+
and it incorporates material as listed below or described in the code.
10+
11+
----
12+
https://github.com/KhronosGroup/OpenXR-SDK
13+
14+
KhronosGroup/OpenXR-SDK is licensed under the
15+
16+
Apache License 2.0
17+
18+
A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
19+
20+
Copyright (c) 2017-2020 The Khronos Group Inc.
21+
22+
----
23+
https://github.com/KhronosGroup/OpenXR-SDK-Source
24+
25+
KhronosGroup/OpenXR-SDK-Source is licensed under the
26+
27+
Apache License 2.0
28+
29+
A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
30+
31+
Copyright (c) 2017-2020 The Khronos Group Inc.
32+
33+
----
34+
https://github.com/microsoft/DirectX-Graphics-Samples
35+
36+
microsoft/DirectX-Graphics-Samples is licensed under the
37+
38+
MIT License
39+
40+
A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
41+
42+
Copyright (c) Microsoft. All rights reserved.
43+
44+
----
45+
https://github.com/fmtlib/fmt
46+
47+
fmtlib/fmt is licensed under the
48+
49+
Copyright (c) 2012 - present, Victor Zverovich
50+
51+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
52+
53+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
54+
55+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
56+
57+
58+
----
59+
https://github.com/nothings/stb.git
60+
61+
nothings/stb is licensed under
62+
63+
MIT License
64+
65+
Copyright (c) 2017 Sean Barrett
66+
Permission is hereby granted, free of charge, to any person obtaining a copy of
67+
this software and associated documentation files (the "Software"), to deal in
68+
the Software without restriction, including without limitation the rights to
69+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
70+
of the Software, and to permit persons to whom the Software is furnished to do
71+
so, subject to the following conditions:
72+
The above copyright notice and this permission notice shall be included in all
73+
copies or substantial portions of the Software.
74+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
75+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
76+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
77+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
78+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
79+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
80+
SOFTWARE.
81+
82+
----
83+
https://github.com/syoyo/tinygltf.git
84+
85+
syoyo/tinygltf.git is licensed under
86+
87+
MIT License
88+
89+
A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
90+
91+
----
92+
https://github.com/Tencent/rapidjson
93+
94+
Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
95+
96+
Tencent/rapidjson is licensed under
97+
98+
MIT License:
99+
100+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
101+
102+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
103+
104+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
105+
106+
----
107+
https://github.com/mmikk/MikkTSpace
108+
109+
Copyright (C) 2011 by Morten S. Mikkelsen
110+
111+
This software is provided 'as-is', without any express or implied
112+
warranty. In no event will the authors be held liable for any damages
113+
arising from the use of this software.
114+
115+
Permission is granted to anyone to use this software for any purpose,
116+
including commercial applications, and to alter it and redistribute it
117+
freely, subject to the following restrictions:
118+
119+
1. The origin of this software must not be misrepresented; you must not
120+
claim that you wrote the original software. If you use this software
121+
in a product, an acknowledgment in the product documentation would be
122+
appreciated but is not required.
123+
2. Altered source versions must be plainly marked as such, and must not be
124+
misrepresented as being the original software.
125+
3. This notice may not be removed or altered from any source distribution.
126+

README.md

+10-8
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,12 @@ or choose x64 platform when running on a Windows Desktop PC with the HoloLens 2
2828

2929
The [openxr_preview](https://github.com/microsoft/OpenXR-MixedReality/tree/master/openxr_preview) folder contains a set of [preview header files](https://github.com/microsoft/OpenXR-MixedReality/tree/master/openxr_preview/include/openxr) containing the following OpenXR extensions that are only available [in preview runtime](http://aka.ms/openxr-preview).
3030

31-
1. [XR_MSFT_scene_understanding_preview](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_scene_understanding_preview)
31+
1. [XR_MSFT_scene_understanding_preview2](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_scene_understanding_preview2)
3232

3333
1. [XR_MSFT_scene_understanding_serialization_preview](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_scene_understanding_serialization_preview)
3434

35+
1. [XR_MSFT_composition_layer_reprojection_preview](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_composition_layer_reprojection_preview)
36+
3537
Please send feedback on preview extensions and samples at [GitHub issues](https://github.com/microsoft/OpenXR-MixedReality/issues).
3638
We are planning to incorporate your feedback and finalize these extensions as vendor extensions (MSFT) or cross-vendor extensions (EXT)
3739
in the central Khronos OpenXR [headers](https://github.com/KhronosGroup/OpenXR-SDK/tree/master/include/openxr)
@@ -45,7 +47,7 @@ can be found in the [BasicXrApp/OpenXRProgram.cpp](https://github.com/microsoft/
4547
The [Run() function](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/BasicXrApp/OpenXrProgram.cpp#L28)
4648
captures a typical OpenXR app code flow for session initialization, event handling, the frame loop and input actions.
4749

48-
- **Hand tracking** <br/>
50+
- **Hand tracking** <br/>
4951
The [Scene_HandTracking.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/SampleSceneUwp/Scene_HandTracking.cpp)
5052
demos the usage of [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_EXT_hand_tracking)
5153
and [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_hand_tracking_mesh) extensions.
@@ -55,7 +57,7 @@ The [Scene_EyeGazeInteraction.cpp](https://github.com/microsoft/OpenXR-MixedReal
5557
demos the usage of [XR_EXT_eye_gaze_interaction](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_EXT_eye_gaze_interaction) extension.
5658

5759
- **Mixed reality capture support** <br/>
58-
Search "secondary" in [XrApp.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/shared/XrSceneLib/XrApp.cpp) file
60+
Search "secondary" in [XrApp.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/shared/XrSceneLib/XrApp.cpp) file
5961
to understand the usage of [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_secondary_view_configuration)
6062
and [XR_MSFT_first_person_observer](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_first_person_observer) extensions.
6163

@@ -64,15 +66,15 @@ The [ControllerObject.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob
6466
[Scene_ControllerModel.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/SampleSceneWin32/Scene_ControllerModel.cpp) files
6567
demos the usage of [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_controller_model) extension.
6668

67-
- **Holographic window attachment** <br/>
68-
The [SampleSceneUwp/Main.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/SampleSceneUwp/Main.cpp) file demos protocol activation for XR apps,
69+
- **Holographic window attachment** <br/>
70+
The [SampleSceneUwp/Main.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/SampleSceneUwp/Main.cpp) file demos protocol activation for XR apps,
6971
and using [XR_MSFT_holographic_window_attachment](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_holographic_window_attachment) extension
70-
to interop with CoreWindow in order to support [keyboard inputs](https://docs.microsoft.com/en-us/windows/mixed-reality/keyboard-mouse-and-controller-input-in-directx#subscribe-for-corewindow-input-events)
72+
to interop with CoreWindow in order to support [keyboard inputs](https://docs.microsoft.com/en-us/windows/mixed-reality/keyboard-mouse-and-controller-input-in-directx#subscribe-for-corewindow-input-events)
7173
and [TextEditingContext](https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Text.Core.CoreTextEditContext?view=winrt-19041).
7274

73-
- **Understand the local, unbounded and anchor spaces**<br/>
75+
- **Understand the local, unbounded and anchor spaces**<br/>
7476
The [ThreeSpacesUwp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/ThreeSpacesUwp/Scene_ThreeSpaces.cpp) project
75-
demos the usage and differences of [LOCAL](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#reference-spaces),
77+
demos the usage and differences of [LOCAL](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#reference-spaces),
7678
[UNBOUNDED](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_unbounded_reference_space) reference spaces
7779
and [spatial anchors](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_spatial_anchor).
7880

Samples.sln

+3
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "XrUtility", "XrUtility", "{
3939
shared\XrUtility\XrHandle.h = shared\XrUtility\XrHandle.h
4040
shared\XrUtility\XrInstanceContext.h = shared\XrUtility\XrInstanceContext.h
4141
shared\XrUtility\XrMath.h = shared\XrUtility\XrMath.h
42+
shared\XrUtility\XrSceneUnderstanding.h = shared\XrUtility\XrSceneUnderstanding.h
43+
shared\XrUtility\XrSceneUnderstanding.hpp = shared\XrUtility\XrSceneUnderstanding.hpp
44+
shared\XrUtility\XrSceneUnderstandingSerialization.h = shared\XrUtility\XrSceneUnderstandingSerialization.h
4245
shared\XrUtility\XrSessionContext.h = shared\XrUtility\XrSessionContext.h
4346
shared\XrUtility\XrSide.h = shared\XrUtility\XrSide.h
4447
shared\XrUtility\XrStereoView.h = shared\XrUtility\XrStereoView.h

0 commit comments

Comments
 (0)