WEBVTT

00:00.000 --> 00:10.000
Thank you so much for joining.

00:10.000 --> 00:29.000
So we'll take a look at you know latest news on the OpenXR side of things also going to give you some updates about what we do on collaboration with Manado again and some other very cool things happening in the open source world.

00:29.000 --> 00:36.000
So let me check if I can use this.

00:36.000 --> 00:43.000
It should work. Yes. Very quick on this. My name is Fred. So I have two hats. I'm out reach.

00:43.000 --> 00:49.000
My main affiliation is with Calabra where I'm very happy to lead the XR domain.

00:49.000 --> 01:00.000
So reading a team very talented, open XR engineers, XR engineers. You know that, you know Calabra of course for those of you who are really, really young here. We're consultants.

01:00.000 --> 01:13.000
Mostly using open source. We're doing that. So we're using open source to leverage to for our customers in many across industry. So XR, but also graphics core. We have multimedia.

01:13.000 --> 01:32.000
We have also AI. I'm at machine learning. My second hat is Outreach Officer for OpenXR at Kronos, where I spread the good news and you know about OpenXR API, try to reach out to other industries explain the benefits of the standard and so on.

01:32.000 --> 01:39.000
I just discussed Calabra here is a slide for it. If you don't know us come to see me after this show.

01:39.000 --> 01:51.000
As I said, mostly leveraging open source solutions for our customers. Usually in the Fortune 500 sector, I'm slice, but it's not always a case rate. I've been working with startups as well.

01:51.000 --> 01:59.000
And so yeah, I'm going to be talking a bit more about that. Before I move on to the next slide.

01:59.000 --> 02:14.000
Inado, Calabra has been within the OpenXR working group for a long time now. We had Manado, one of the first two OpenXR 1.0 compliant run times in 2019.

02:14.000 --> 02:36.000
And ever since we've been working in Manado, we are also the OpenXR, the CTS riders. I'm on Kronos. So if you guys have an XR OEM, some hardware that you want to have OpenXR compliance, this is the test that you have to pass and then we submit the results and stuff. And we are writing those tests.

02:36.000 --> 02:48.000
There's also the OpenXR spec editor in our ranks, Riley Pavlik. It's been doing an amazing job. So you see we're pretty much really involved in this really nice open standard.

02:48.000 --> 03:04.000
For today, I'm going to be discussing some OpenXR news. Do I hear me well? We're discussing that first. We're also going to be taking a look at the difference between the runtime and client clients.

03:04.000 --> 03:22.000
Sorry, you'll see that there's a bit of education there. And we'll close that call that talk with some overview of the OpenXR, the XR ecosystem and see that how it's possible to do everything open source.

03:22.000 --> 03:38.000
For the OpenXR news, you'll probably see we have on the Kronos side released some extensions lately. We have blog posts on that, but mostly we went to the scene understanding.

03:38.000 --> 03:56.000
And so you have all of those spatial entities related extensions that came out. If you are already an XR developer, interested in OpenXR, take a look at that. We have the spatial anchors that's a new concept that's being used and everything that you see there.

03:56.000 --> 04:17.000
You know, apart from being able to detect 3D and 3D markers in space, you of course can out with those extensions detect planes and surfaces. And there's also a semantic layer that detect if we're talking about a table, if it's a ceiling, if it's a wall. So pretty cool stuff that you might want to take a look at.

04:17.000 --> 04:31.000
Of course, if you're on the other side of the story, XR OEMs, if you have hardware, then it's also important to know where the OpenXR standard is at the moment.

04:31.000 --> 04:37.000
And then you might want to contact me after the show. We've also been working on this.

04:37.000 --> 04:47.000
The multi-app aspect is unreleased right now. So most of that is still under NDA and I cannot, unfortunately, I cannot disclose as much as I would like.

04:47.000 --> 05:01.000
But we've been working on this very extensively for maybe more than a year. And as you might expect, so we're division right for those extensions that I will come out.

05:01.000 --> 05:09.000
Soon is really what you think about. So we want to have multiple apps, be able to interact spatially with each other.

05:09.000 --> 05:20.000
Think of a game with some desktop tools, calendars floating around, stuff like that, minimally. But also we would like the rendering to be coherent, right?

05:20.000 --> 05:30.000
So cross-lightings between those apps, occlusions, and so pretty, pretty intense work. We are working on standardizing all that.

05:30.000 --> 05:44.000
So stay tuned. This is something that's really important for OpenXR developers, so pay attention. So we at Cronus are always trying to make it easier for developers.

05:44.000 --> 05:50.000
Not only standardizing, but explaining and showing the way. And so we've worked on this recently, and this is already out.

05:50.000 --> 06:01.000
We released that a few months ago, it's called the best practice validation layers. Now as you might know on the Vulcan site, for example, validation layers, it's really like a thing really common.

06:01.000 --> 06:12.000
Usually catching the invalid user, just right for the API. But this guy here is not about catching the valid user, but maybe suboptimal users, right?

06:12.000 --> 06:22.000
And so it's a normal validation layer in intercept the calls, but we'll tell you with warnings that you might not have, you're maybe a duplicated this or that.

06:22.000 --> 06:40.000
There's like five or six very basic checks right now, that lets you maybe spot that your application is going to perform, maybe suboptimally, or you're going to be running into some cross device incompatibilities.

06:40.000 --> 06:55.000
But mostly, it's really there to help you guys get better code. Now, we're going to be building on this, and also welcoming the community to join and contribute.

06:55.000 --> 07:08.000
So if you get your hands on those layers and think that we're missing some tests, it's going to be our pleasure to welcome your feedback and try to integrate.

07:08.000 --> 07:24.000
In the same, in the same, you know, desire to help the community, we've also worked on the tutorial, we call it tutorial, open exotic tutorials. You can see the link at the bottom, here, what is the, yeah, okay.

07:24.000 --> 07:49.000
So most links, so this is going to be, by the way, it's going to be available, the recordings as well, so you can also always revert to it. The tutorial projects, pretty simple, it tells it all. So it's like a step by step, you get a folder is the by steps application, starting with a really, really basic number one application creating session, creating devices, and then it builds on top, adding more complexity.

07:49.000 --> 08:03.000
And so it's a really nice way for you guys to learn how to, you know, develop an canonical opening application and start from there, and you can find it on our GitHub.

08:03.000 --> 08:17.000
I recommend that you check it out. Now, this was, this was mostly the news about what we've worked on recently. Here's a very important distinction that I want to make.

08:17.000 --> 08:33.000
This is something else that we added recently because there's been some misunderstanding in the community lately, maybe last year, we had some communication that we had, we had some reframing to do with the community about stuff and here it is.

08:33.000 --> 08:52.000
So what happened is that, you know, when you pick an engine as a developer, you pick the OpenXR plugin, you know, you depends your application on a lot of tools, and then you interface with this or that OpenXR runtime, right, that is compliant.

08:52.000 --> 09:10.000
Well, it's, it's kind of normal for you to, to expect that if you picked an engine and you use an OpenXR plugin, you should expect that it just, your application is going to be working across all the OpenXR devices, right, it's not quite the case.

09:10.000 --> 09:26.000
Why is that? Because of the ecosystem, right, let's just, let's just take a quick look at that about the XI ecosystem. So you have the applications on top that do not talk to the OpenXR runtime, usually directly right.

09:26.000 --> 09:40.000
Here's the OpenXR API and the runtime's down there. Most of the time, you guys are going to be interfacing and using your game engine, right, you need to keep on real good though, or some other means, right.

09:40.000 --> 09:45.000
There's actually very few applications that interface with OpenXR directly.

09:46.000 --> 10:12.000
And so when that happens, and so I just want to, just have no many clutches here, and this, this layer is what we call it, you need a middleware, it's probably what you know already, and we're talking about the platform layer. Now, what happens is that OpenXR, the OpenXR compliance guarantee, right, when you, when you present an OpenXR runtime to grown us, you pass a CTS, you guess, OpenXR compliance you,

10:12.000 --> 10:25.000
but the benefits like the API framework, this only pertains that layer rate, the platform, the runtime code, and the associated on associated devices.

10:25.000 --> 10:37.000
Now, game engines, game engine plugins, this is all outside compliance territory, and this is where the problem came from, right, the misunderstanding came from.

10:37.000 --> 10:48.000
It's not because you are picking an, an OpenXR plugin on certain, uncertain, runtime, that your game is going to be running,

10:48.000 --> 10:58.000
right, out of the box everywhere, right, you might be locking yourself into some vendor specific extensions, or, or flags on injuries, for example,

10:58.000 --> 11:13.000
and then you're just realized, and behind happy that you're a game, your APK, whatever, there's not wrong and data to hardware, so it's really important for you guys to know this, and so, as additional help, we've,

11:13.000 --> 11:26.000
we've also enhanced our OpenXR extension reports, right, initially, we were communicating, what are the OpenXR extensions that the runtime support,

11:26.000 --> 11:35.000
and then you might recognize this guy here, it's called the runtime support matrix, we've had this on our OpenXR inventory for years, later ready.

11:36.000 --> 11:55.000
But we figured there was like a missing gap, right, what about those engines that you're using, what about, and so we, so we called the client support matrix, but we're going to change that name to middleware, middleware support matrix, right, which encompasses any, you know,

11:55.000 --> 12:11.000
engine or XR toolkit that you might be using, and so in this first version of what we released, it's, this, this space is life, you'll find, you'll find good though, unity, unreal, but also lover,

12:11.000 --> 12:22.000
it's you saw the very good, you saw the very good presentation from my colleague, Chris stuff about Manado and other tools, so you found lover and steering kit in there.

12:22.000 --> 12:38.000
And so if you have, if you're working on an engine, then implement, not implemented, but use the OpenXR API, if you have a toolkit, a library in the XR space, and you like that piece of software through peer here, you can contact me

12:38.000 --> 12:59.000
or anyone at corners and we'll take a look at that. We're usually basing our decision on, you know, is there, you know, how much of the OpenXR API is covered by your software, but also is there, like a community or maintaining your software and those, like a kind of a general portrait.

12:59.000 --> 13:14.000
I'm not sure I have time for everything in my presentation, so we'll skip that one. Pretty quickly with just to give you a sense of, you know, how, how possible it is to go XR in the open source world.

13:14.000 --> 13:38.000
Well, I will just tell a very quickly about Manado here that you, I'm, I'm recommending you to go back to, again, to the talk from my colleague, Chris stuff, but just to give you a sense of Manado for XR headset or platform makers is really a pretty good deal, a pretty big deal.

13:38.000 --> 13:47.000
Because Manado is like a construction, it's like a construction kit for a runtime. You can use what we call the state trackers, right, to enable the OpenXR API.

13:47.000 --> 14:00.000
You can also use any of the, in a very modular way, any of the internal components, exact composers that we have, we have SLAM algorithms or even a driver, it's called the Mercury for hand tracking detection.

14:00.000 --> 14:08.000
So it's pretty easy to pick, you know, didn't get your hands on Manado and use or use any of the components start playing right thought, right?

14:08.000 --> 14:18.000
And we have a very active community, we're welcoming you to join our Discord and try to open up your first MRI.

14:18.000 --> 14:31.000
Just know that we have a relatively important release recently, where among other things we had EXT future implemented, it's really important for what's coming next.

14:31.000 --> 14:44.000
All of the scene understanding within ProNUS is a good part is going to be based on async operations, which is implemented and unlocked by the XR EXT future extension.

14:44.000 --> 14:48.000
And so this is part of what we release pretty recently.

14:48.000 --> 14:58.000
I'm skipping some text as I said that my time is really, I still have a few minutes.

14:58.000 --> 15:06.000
Good though, we cannot, we cannot go and talk about open source XR, of course, and not talk about good though.

15:06.000 --> 15:11.000
Good though is you're working on 4.exversions right now.

15:11.000 --> 15:18.000
It is a pretty complete 2D, 3D, and XR engine, you shouldn't really take it out.

15:18.000 --> 15:30.000
Very cool thing to happen with good though is that they were lucky enough last year to win a contract with ProNUS for implementing a lot of XR feature.

15:30.000 --> 15:35.000
And we call that project the good, any right, open XR integration project.

15:35.000 --> 15:43.000
It's complete now, there's maybe going to be a follow up piece of work, you could check it out.

15:43.000 --> 15:53.000
There's a lot of new, you know, random models got integrated, you have spatial entities that got integrated for the most part.

15:53.000 --> 15:58.000
And there's a lot of improvements, you know, a cross platform and a consistency.

15:58.000 --> 16:07.000
Now good though for XR is really becoming a thing, and we do have the next slide about this.

16:07.000 --> 16:15.000
So we got Calagra, we're lucky enough to do a project called so Marna, not so long ago, based on good though.

16:15.000 --> 16:18.000
And it just worked like a bliss.

16:18.000 --> 16:35.000
The next very important piece of software, and by the way, who's maintainer, we welcome very recently in the coronavirus group as an individual member is lover.

16:35.000 --> 16:42.000
It's a lover, basically in just a few lines of code, right, but it's based on the Lua language.

16:42.000 --> 16:46.000
You can basically create an XR experience such as a few lines of code.

16:46.000 --> 16:58.000
You're going to get a lot out of it, like right out of the box, but recent releases added, fixed phovier, so phovier rendering using quad views.

16:58.000 --> 17:04.000
And you'll see there's also extended support for more interaction profiles.

17:05.000 --> 17:16.000
The cool thing to say in terms of news about the lover is that you might know that cloud XR is having some very cool announcement these days from Nvidia.

17:16.000 --> 17:24.000
They also just released that they're going to, you know, ship a plugin for cloud XR that runs on lovers.

17:24.000 --> 17:29.000
So this is a pretty, pretty cool news.

17:29.000 --> 17:40.000
We also mentioned the circuit, which is sort of a very cool almost engine like XR toolkit or XR library or framework.

17:40.000 --> 17:45.000
And here, again, you can create very cool things, which is few lines of code.

17:45.000 --> 17:51.000
Mostly for CC sharp, you're going to be finding C and C++ headers.

17:51.000 --> 17:56.000
Cool here is that the rendering is pretty nice, PBR rendering. I also skined animation.

17:56.000 --> 18:01.000
You should really check it out. You can import your own objects and start playing with it.

18:01.000 --> 18:09.000
Importantly enough here, you're going to have a very easy to implement and interact with UI.

18:09.000 --> 18:20.000
And so at Calabra, when we have, when we have, you know, projects or we're going to have like a demo projects, it's not.

18:21.000 --> 18:30.000
I mean, it's not rare that we're going to circuit just to have something working and set up quickly. Pretty cool.

18:30.000 --> 18:49.000
That's about it for the news, even on the XR pipeline of things. So if, and so, again, with my two hats, if you're working on cool hardware, if you are interested in open XR, you might want to reach Calabra, if you want help.

18:49.000 --> 18:56.000
Or if you want a job, reach out to me. I'm always very keen to meet people from your community.

18:56.000 --> 19:07.000
If you have experience in XR, open XR, if you've hacked that monado, I might be really interested in knowing you or talk about your skill set.

19:07.000 --> 19:15.000
And so you can reach us here. You'll see, we also have a landing page pretty easy to find us.

19:15.000 --> 19:28.000
And now in the chrono side, if you're already working as an open XR developer and are wondering about anything, if you want to contribute.

19:28.000 --> 19:38.000
If you are using open XR and discover a bug, of course, get hubs and we would be more than happy to welcome your PIs.

19:38.000 --> 19:42.000
And so, here's part of some ways that you can reach us.

19:43.000 --> 19:49.000
And I think this is about it, and I'd be really glad to take questions. Thanks.

19:54.000 --> 19:59.000
All right, we have some questions.

19:59.000 --> 20:11.000
Hello, thank you for your presentation. I have two questions. The first one is, you talk about the middle way of support metrics.

20:11.000 --> 20:22.000
So the question is, can you explain a little bit the process to the way you feel this support metrics?

20:22.000 --> 20:34.000
And does user can check if a specific middle way is compliant with several extensions?

20:34.000 --> 20:38.000
We still hear me. All right, thank you for that question. Yes, I forgot.

20:38.000 --> 20:48.000
So for the, for what we call the runtime support metrics, where you initially had there, this is managed by pronouns because the members were all members, right?

20:48.000 --> 20:59.000
And so we're verifying that it's represented over the reality. Now for the middle way support metrics, this is self-reported, right?

20:59.000 --> 21:08.000
Since this is outside open excite compliance territory, it's just, you know, on good faith that we're taking those guys.

21:08.000 --> 21:13.000
And then we're asking once in a while, hey, could you update your report matrix?

21:13.000 --> 21:21.000
But you have to know that this is all self-reported. No one is actually checking the variety right now of those reports.

21:21.000 --> 21:30.000
It's, it's all in the faith, right? It's, we're assuming it being a responsibility of the maintainer that that that reports.

21:30.000 --> 21:37.000
And what was your second question, sorry?

21:37.000 --> 21:46.000
So, yes, so unless you have, unless you have the device that's been tested on it, there's no easy way to check.

21:46.000 --> 21:51.000
The question was, can you use a quickly check compliance for this and that path, you know?

21:51.000 --> 21:58.000
Unless you have the device on which the, you know, compliance was recorded, it's a bit hard for now. We don't have this.

21:58.000 --> 22:03.000
But I would be really glad to have a message from you, like, hey, pronouns, that would be nice.

22:03.000 --> 22:07.000
And then I would probably add it to my list of things to do.

22:07.000 --> 22:09.000
Thank you.

