WEBVTT

00:00.000 --> 00:12.000
Hi, everyone, so I'm here to talk about Fed, yes, we call it Fed, not F3D, please.

00:12.000 --> 00:13.000
Remember that?

00:13.000 --> 00:21.000
So Fed is a fast and minimalist 3D viewer, but I'm here as a president of Fed App Foundation,

00:21.000 --> 00:24.000
which is a non-profit that we created for the project.

00:24.000 --> 00:27.000
I won't talk too much about it, but if you have a question about,

00:27.000 --> 00:31.000
how we did the non-profit and everything, that's very happy to answer.

00:31.000 --> 00:35.000
So, yeah, I'm mature, I'm a mentor and co-creator of Fed,

00:35.000 --> 00:39.000
in the room there is a so-micro, which is also a mentor and co-creator of Fed.

00:39.000 --> 00:45.000
We both also have their jobs, this is something we do on a free time.

00:45.000 --> 00:50.000
I do want to mention that we have a funding that let us do this kind of activities,

00:50.000 --> 00:51.000
as going to first them.

00:51.000 --> 00:54.000
This funding is provided by NNLets and GIS-0.

00:54.000 --> 00:56.000
So you definitely want to check them out,

00:56.000 --> 00:58.000
if this is something you're looking for.

01:00.000 --> 01:03.000
Okay, so let's do a quick test in the room.

01:03.000 --> 01:06.000
So please, once you're in and keep it waste,

01:06.000 --> 01:09.000
if you have GLTF file on your computer.

01:09.000 --> 01:10.000
Okay?

01:10.000 --> 01:11.000
Got a few?

01:11.000 --> 01:13.000
A fix?

01:13.000 --> 01:14.000
Okay?

01:14.000 --> 01:15.000
UST?

01:15.000 --> 01:17.000
And that's a match?

01:17.000 --> 01:18.000
A STL?

01:18.000 --> 01:19.000
Okay?

01:19.000 --> 01:21.000
Oh, yes, that's a more people.

01:21.000 --> 01:22.000
OBGee?

01:22.000 --> 01:23.000
Okay?

01:23.000 --> 01:24.000
Almost everyone?

01:24.000 --> 01:25.000
Step file?

01:25.000 --> 01:26.000
Yeah?

01:26.000 --> 01:27.000
Alambic?

01:27.000 --> 01:28.000
ADC file?

01:28.000 --> 01:29.000
Oh, not that much?

01:29.000 --> 01:30.000
Yeah?

01:30.000 --> 01:31.000
OBGee?

01:31.000 --> 01:32.000
Nobody?

01:32.000 --> 01:33.000
Okay?

01:33.000 --> 01:34.000
We can remove that.

01:34.000 --> 01:36.000
Do you do Gaussian splatting?

01:36.000 --> 01:38.000
Oh, there's one guy.

01:38.000 --> 01:39.000
Nice.

01:39.000 --> 01:43.000
Then I would say everyone is if we need Fed,

01:43.000 --> 01:47.000
because Fed will help you with all of that.

01:47.000 --> 01:49.000
So what is it?

01:49.000 --> 01:51.000
Fed is a fast and minimalist,

01:51.000 --> 01:53.000
really if you were, it's obviously open source.

01:53.000 --> 01:56.000
It's posted on GitHub.

01:56.000 --> 01:58.000
It's a community driven.

01:58.000 --> 02:02.000
There is no company behind it currently.

02:02.000 --> 02:05.000
So we have a very active community of contributors.

02:05.000 --> 02:07.000
I won't talk much about that,

02:07.000 --> 02:09.000
but if we have questions about our community,

02:09.000 --> 02:10.000
I'm very happy to answer them.

02:10.000 --> 02:12.000
We will use every three months,

02:12.000 --> 02:15.000
and we have a very nice website with which

02:15.000 --> 02:17.000
I will share you with our QR code at the end.

02:17.000 --> 02:18.000
Okay?

02:18.000 --> 02:19.000
So what can you do?

02:20.000 --> 02:21.000
What can you do with Fed?

02:21.000 --> 02:25.000
So let's say you just want to quickly visualize a solidified.

02:25.000 --> 02:30.000
So if you usually what you need to do is you go online to

02:30.000 --> 02:34.000
3D viewer or you open Blender, which is very nice software,

02:34.000 --> 02:35.000
but quite big.

02:35.000 --> 02:36.000
You can do the same with my club.

02:36.000 --> 02:38.000
Or you can even go to the dark side and open,

02:38.000 --> 02:41.000
I don't know, my course of 3D viewer,

02:41.000 --> 02:43.000
or any kind of freeware with some others.

02:43.000 --> 02:44.000
That's not everywhere.

02:44.000 --> 02:47.000
Well, of course, you can use Fed.

02:47.000 --> 02:50.000
You can just double click on any of your 3D file,

02:50.000 --> 02:51.000
and you just open it.

02:51.000 --> 02:52.000
That's it.

02:52.000 --> 02:53.000
That's a viewer.

02:53.000 --> 02:55.000
That's what it does.

02:55.000 --> 02:58.000
Or you can use the command line of course,

02:58.000 --> 03:00.000
Fed your file, and that's it.

03:00.000 --> 03:01.000
You open it.

03:01.000 --> 03:05.000
Let's say you want to generate some names for your 3D files.

03:05.000 --> 03:06.000
You're in your file.

03:06.000 --> 03:08.000
Your file browser, your file explorer.

03:08.000 --> 03:10.000
Just want you have so many files.

03:10.000 --> 03:12.000
You're a bit lost,

03:12.000 --> 03:14.000
because you're looking for files and naming.

03:14.000 --> 03:16.000
Maybe it's not perfect.

03:17.000 --> 03:19.000
So there is some solutions out there.

03:19.000 --> 03:20.000
As they have some,

03:20.000 --> 03:23.000
as being existing for more than 10 years now,

03:23.000 --> 03:25.000
there is another project called space thumbnail.

03:25.000 --> 03:27.000
So it's maintained.

03:27.000 --> 03:29.000
But there are all other limitations.

03:29.000 --> 03:34.000
And here Fed is very, very good solution here.

03:34.000 --> 03:38.000
You're basically able to generate thumbnails for all your files,

03:38.000 --> 03:41.000
all the files and machines, all the formats and machines.

03:41.000 --> 03:44.000
In natively, in most Linux distribution,

03:44.000 --> 03:48.000
and it's also natively supported on Windows.

03:48.000 --> 03:50.000
We don't support my quest.

03:50.000 --> 03:52.000
Sorry.

03:52.000 --> 03:55.000
Let's say you want to quickly open CAD file.

03:55.000 --> 03:59.000
Well, you can use free code, of course.

03:59.000 --> 04:03.000
But it's very nice, but also very big software to open.

04:03.000 --> 04:06.000
Or there is a lot of property sites,

04:06.000 --> 04:08.000
a lot of different software.

04:08.000 --> 04:10.000
Many of them, actually.

04:10.000 --> 04:12.000
But you can do that with Fed as well.

04:12.000 --> 04:14.000
Yes, it's the same idea.

04:14.000 --> 04:16.000
You just double click on the file, or use a command line,

04:16.000 --> 04:17.000
and we just open.

04:17.000 --> 04:20.000
Of course, that's for step file,

04:20.000 --> 04:22.000
IDS file, that's the format with support,

04:22.000 --> 04:24.000
currently for CAD.

04:24.000 --> 04:27.000
Okay, let's go a bit further.

04:27.000 --> 04:28.000
Let's set.

04:28.000 --> 04:32.000
You want to integrate the 3D modeling of a 3D model into a script.

04:32.000 --> 04:33.000
Can you do that?

04:33.000 --> 04:36.000
Let's say you have your Python script,

04:36.000 --> 04:40.000
that we generate a JLTF file from a Python libraries,

04:40.000 --> 04:41.000
and let's do that.

04:41.000 --> 04:44.000
And you want just to create a PNG file

04:44.000 --> 04:45.000
from this JLTF file,

04:45.000 --> 04:48.000
because you want to put it somewhere as this image

04:48.000 --> 04:50.000
is because you want to upload to a website,

04:50.000 --> 04:53.000
where you have to have a PNG associated to your file.

04:53.000 --> 04:56.000
But you could write a custom Python script,

04:56.000 --> 04:58.000
that we're actually with the JLTF file,

04:58.000 --> 05:00.000
and then when they're retusing much won't,

05:00.000 --> 05:04.000
or you create your own C++ program in using OpenGL,

05:04.000 --> 05:06.000
and do the rendering, and stuff like that.

05:06.000 --> 05:09.000
But of course, you will not do that.

05:09.000 --> 05:12.000
You can just use FAD, because it's a common line oriented,

05:12.000 --> 05:14.000
so you can just dash dash output,

05:14.000 --> 05:17.000
and here you go, you got your PNG file,

05:17.000 --> 05:21.000
and we recently added animation support in that context.

05:21.000 --> 05:24.000
So that means that if you have an animated file,

05:24.000 --> 05:26.000
that you're open in FAD,

05:26.000 --> 05:29.000
and you output with this specific syntax here,

05:29.000 --> 05:32.000
you will be able to generate hundreds of PNGs,

05:32.000 --> 05:37.000
and then convert that using FFMBG to a M before.

05:37.000 --> 05:42.000
Yes, or what you can even do if you want to go deeper

05:42.000 --> 05:45.000
into the scripting phase, you can use Python values.

05:45.000 --> 05:49.000
I will talk more about Python values, a little bit later,

05:49.000 --> 05:52.000
but this would be the ideal way to actually integrate

05:52.000 --> 05:55.000
into Python pipelines,

05:55.000 --> 05:58.000
that if you need to do some rendering.

05:58.000 --> 06:02.000
And a final scenario is you want to quickly visualize

06:02.000 --> 06:04.000
in the web.

06:04.000 --> 06:06.000
Well, you can actually do that,

06:06.000 --> 06:08.000
because FAD is indeed in C++,

06:08.000 --> 06:12.000
but we do compile it with web assembly,

06:12.000 --> 06:15.000
and so you can just use our web viewer,

06:15.000 --> 06:18.000
and it's on FAD.up, slash viewer.

06:18.000 --> 06:23.000
And if you have an actual 3D model on your phone,

06:23.000 --> 06:25.000
you would be able to connect to that.

06:25.000 --> 06:27.000
If you have a good GPU on your phone,

06:27.000 --> 06:29.000
or you can do that on your computer, of course.

06:29.000 --> 06:32.000
So here we have just an example of opening it's a bit dark,

06:32.000 --> 06:36.000
so you should have switched the background to lighter one,

06:36.000 --> 06:38.000
but you see the points.

06:38.000 --> 06:42.000
Okay, so is it just a viewer?

06:42.000 --> 06:45.000
Because I mean, being just a viewer is fine,

06:45.000 --> 06:48.000
you don't want your software to do this,

06:48.000 --> 06:50.000
and that, and make coffee, and then,

06:50.000 --> 06:53.000
I don't know, make your bed, and stuff like that,

06:53.000 --> 06:57.000
but FAD goes a bit further than that.

06:57.000 --> 07:01.000
So, okay, you open, you open the FAD window,

07:01.000 --> 07:04.000
and you have your data, it looks wet,

07:04.000 --> 07:06.000
but then what can you do?

07:06.000 --> 07:09.000
Well, you can twist H on your keyboard,

07:09.000 --> 07:12.000
and it will show this, what we call that the cheat cheat,

07:12.000 --> 07:15.000
that will show you all this interactive key bindings

07:15.000 --> 07:19.000
that will let you modify the way the data is displayed.

07:19.000 --> 07:22.000
There is actually many of them.

07:22.000 --> 07:25.000
At this point, with Mikael, we're starting to lose tracks

07:25.000 --> 07:28.000
as to how many different controls we have,

07:28.000 --> 07:30.000
because we have the more and more.

07:30.000 --> 07:33.000
And we will soon add a search bar on top of that,

07:33.000 --> 07:36.000
because it's starting to be complex to find what you're looking for,

07:36.000 --> 07:39.000
but yeah, there are a lot of bindings.

07:39.000 --> 07:41.000
And all these options that you do,

07:41.000 --> 07:43.000
basically, crazy things.

07:43.000 --> 07:47.000
Here, we have an example where we have volume of data on the left,

07:47.000 --> 07:49.000
and then using volume rendering,

07:49.000 --> 07:52.000
and some specific color mapping,

07:52.000 --> 07:56.000
we are able, in fact, to generate this kind of rendering.

07:56.000 --> 07:59.000
This is just a volume rendering of medical data,

07:59.000 --> 08:00.000
but this is something you can do.

08:00.000 --> 08:02.000
In fact, which is not something you would expect from us

08:02.000 --> 08:04.000
with if you were up to 10.

08:04.000 --> 08:05.000
And that's just an example.

08:05.000 --> 08:09.000
There is tons of common item shifts.

08:09.000 --> 08:12.000
And all these options that you can do from the common line,

08:12.000 --> 08:14.000
all you can do, interactively,

08:14.000 --> 08:17.000
you can also control from a configuration file.

08:17.000 --> 08:22.000
So that means that if you are always using the same options,

08:22.000 --> 08:23.000
always using the same interactions,

08:23.000 --> 08:27.000
you're able to just put that in your configuration file,

08:27.000 --> 08:29.000
and then the next time you open file,

08:29.000 --> 08:32.000
it will just look exactly the way you want it to look.

08:32.000 --> 08:36.000
And you can match it with different extensions

08:36.000 --> 08:38.000
or different, even, fine name.

08:38.000 --> 08:39.000
So that's your configuration block,

08:39.000 --> 08:41.000
or specific for each of your files.

08:41.000 --> 08:44.000
So this way, you know, oh, this is my GLTF files.

08:44.000 --> 08:45.000
I want to learn things like this,

08:45.000 --> 08:50.000
and my stepfile, I want to learn them differently.

08:50.000 --> 08:51.000
Okay.

08:51.000 --> 08:58.000
So that is also a very nice documentation

08:58.000 --> 09:00.000
that we actually write all of,

09:00.000 --> 09:03.000
we just tried to make it as good as we can.

09:03.000 --> 09:06.000
And this documentation is available on our website.

09:06.000 --> 09:08.000
It's also available as a dash-l,

09:08.000 --> 09:10.000
but it's much, much more complex,

09:10.000 --> 09:12.000
complete on the website.

09:12.000 --> 09:14.000
This is a searchable website,

09:14.000 --> 09:16.000
so it's very easy to find the information you're looking for.

09:16.000 --> 09:18.000
And we even have version,

09:18.000 --> 09:20.000
help, so you can look,

09:20.000 --> 09:22.000
if you're demanding the version you have,

09:22.000 --> 09:24.000
you can look on the website.

09:24.000 --> 09:26.000
So there is a QR code here,

09:26.000 --> 09:30.000
but it will be available at the end of the slide as well.

09:30.000 --> 09:31.000
Okay.

09:31.000 --> 09:35.000
So what kind of options can we use,

09:35.000 --> 09:38.000
and what does actually exist in terms of options,

09:38.000 --> 09:39.000
in fact?

09:39.000 --> 09:42.000
So here I've selected a few of the,

09:42.000 --> 09:44.000
I would say most interested option,

09:44.000 --> 09:45.000
but there is many other,

09:45.000 --> 09:46.000
I will not talk about it.

09:47.000 --> 09:48.000
If you want to do something,

09:48.000 --> 09:49.000
just ask,

09:49.000 --> 09:50.000
and I will let you know,

09:50.000 --> 09:52.000
is it possible or not?

09:52.000 --> 09:54.000
Okay, so animations.

09:54.000 --> 09:56.000
This is something that,

09:56.000 --> 09:58.000
of course, if you do CAD,

09:58.000 --> 09:59.000
that's not what you think,

09:59.000 --> 10:00.000
but if you do GLTF files,

10:00.000 --> 10:01.000
of course,

10:01.000 --> 10:03.000
that makes a lot of sense.

10:03.000 --> 10:04.000
So yeah,

10:04.000 --> 10:05.000
lighting is that great here,

10:05.000 --> 10:07.000
but at least this one looks great.

10:07.000 --> 10:10.000
So you can have multiple animation,

10:10.000 --> 10:11.000
in some format,

10:11.000 --> 10:13.000
you're able to select the animation you want to show.

10:13.000 --> 10:15.000
You can control the speed,

10:15.000 --> 10:17.000
you can go frame by frame.

10:17.000 --> 10:19.000
So which is very useful,

10:19.000 --> 10:23.000
when you have low resolution animation,

10:23.000 --> 10:25.000
like we do CAD,

10:25.000 --> 10:27.000
on the top right,

10:27.000 --> 10:28.000
which is a,

10:28.000 --> 10:30.000
it's a doom model,

10:30.000 --> 10:32.000
which is like just a few frame of animation,

10:32.000 --> 10:34.000
and you can go frame by frame.

10:36.000 --> 10:38.000
Okay, textures.

10:38.000 --> 10:42.000
So when you load GLTF file,

10:42.000 --> 10:43.000
which is okay here,

10:43.000 --> 10:45.000
it will load the texture as well,

10:45.000 --> 10:46.000
if they're available.

10:46.000 --> 10:47.000
Sometimes they're baked in the file,

10:47.000 --> 10:49.000
sometimes they're a PNG files,

10:49.000 --> 10:50.000
which are on the side,

10:50.000 --> 10:52.000
but it will work automatically.

10:52.000 --> 10:54.000
But if you want to force a specific texture,

10:54.000 --> 10:57.000
because you're working on the texture on a PNG file,

10:57.000 --> 10:58.000
on the side,

10:58.000 --> 11:00.000
you can just side load it with a common line option.

11:00.000 --> 11:02.000
So you just modify it at the first,

11:02.000 --> 11:03.000
I'm not going on it,

11:03.000 --> 11:04.000
and just, that's it.

11:07.000 --> 11:08.000
With support, FDRI.

11:08.000 --> 11:12.000
So FDRI is a way to add some kind of a,

11:12.000 --> 11:16.000
360 degree is background on everywhere on,

11:16.000 --> 11:17.000
in your scene.

11:17.000 --> 11:19.000
So this HGRI,

11:19.000 --> 11:21.000
we let you not only add a background,

11:21.000 --> 11:23.000
if you want to show it,

11:23.000 --> 11:24.000
but also to light,

11:24.000 --> 11:26.000
your model using this HGRI.

11:26.000 --> 11:27.000
This lighting,

11:27.000 --> 11:30.000
we give very, very, very much nice,

11:30.000 --> 11:31.000
more underings.

11:31.000 --> 11:33.000
It looks very realistic.

11:33.000 --> 11:34.000
I mean,

11:34.000 --> 11:35.000
it's not very tracing, of course,

11:35.000 --> 11:38.000
but it looks much better with an HGRI,

11:38.000 --> 11:40.000
that without an HGRI in terms of lighting.

11:40.000 --> 11:43.000
And you can even blur the HGRI,

11:43.000 --> 11:45.000
so that it looks a bit nicer.

11:45.000 --> 11:49.000
And if you don't know where to find HGRI,

11:49.000 --> 11:51.000
to do this kind of nicer rendering,

11:51.000 --> 11:52.000
you can download it on the web,

11:52.000 --> 11:54.000
there is a website called PolyEvan,

11:54.000 --> 11:58.000
which provides HGRI on the CC zero license.

11:58.000 --> 12:00.000
So this is very useful.

12:03.000 --> 12:06.000
Okay, so you can also do multiple files.

12:06.000 --> 12:08.000
So as of now,

12:08.000 --> 12:10.000
I'll only show you how to print a single file,

12:10.000 --> 12:12.000
but if you have multiple files that are,

12:12.000 --> 12:14.000
for example, part of a bigger,

12:14.000 --> 12:16.000
a bigger model,

12:16.000 --> 12:18.000
forcefully printing, for example,

12:18.000 --> 12:20.000
where you can just open them all together

12:20.000 --> 12:21.000
into a single view,

12:21.000 --> 12:23.000
and this is exactly what I did here.

12:23.000 --> 12:25.000
So here we have,

12:25.000 --> 12:26.000
I don't know,

12:26.000 --> 12:28.000
maybe 15 models,

12:28.000 --> 12:29.000
that actually,

12:29.000 --> 12:31.000
if you open it with a multi-final mode,

12:31.000 --> 12:33.000
it will just show up as this single model.

12:33.000 --> 12:35.000
But it's actually multiple models being loaded.

12:36.000 --> 12:39.000
And we actually have multiple multi-final models

12:39.000 --> 12:41.000
that you can actually use a regax

12:41.000 --> 12:44.000
to choose how you want to go by and stuff like that.

12:46.000 --> 12:48.000
In terms of advanced rendering,

12:48.000 --> 12:49.000
we of course suppose,

12:49.000 --> 12:50.000
support blending,

12:50.000 --> 12:52.000
if you have opacity on your files.

12:52.000 --> 12:54.000
So here on the left,

12:54.000 --> 12:55.000
without blending,

12:55.000 --> 12:56.000
toned down,

12:56.000 --> 12:59.000
you of course it's all mapped up and everything.

12:59.000 --> 13:00.000
And on the right,

13:00.000 --> 13:02.000
we have the blending correctly set up,

13:02.000 --> 13:04.000
so that you can actually see through,

13:05.000 --> 13:07.000
because there is some opacity on the parts,

13:07.000 --> 13:09.000
but it looks correct.

13:09.000 --> 13:11.000
As I've actually different blending modes,

13:11.000 --> 13:13.000
I will not go into specifics,

13:13.000 --> 13:14.000
but if you have questions,

13:14.000 --> 13:16.000
make it would be available to answer that.

13:16.000 --> 13:18.000
We have so support ambient occlusion,

13:18.000 --> 13:23.000
which is a way to have fake shadow on your models,

13:23.000 --> 13:27.000
and that's look very great for this kind of model.

13:27.000 --> 13:29.000
Here we have some intricate geometries,

13:29.000 --> 13:32.000
you actually can understand much more outwards.

13:35.000 --> 13:39.000
Okay, so this one is a video.

13:39.000 --> 13:43.000
We also support Gaussian splitting, that for you.

13:43.000 --> 13:47.000
You can actually open your Gaussian splitting files.

13:47.000 --> 13:49.000
So there is PLY,

13:49.000 --> 13:51.000
the splat, the SPZ,

13:51.000 --> 13:52.000
that you can open,

13:52.000 --> 13:54.000
and it will just show up like this.

13:54.000 --> 13:56.000
So if you don't know what Gaussian splitting is,

13:56.000 --> 13:59.000
I will just explain in less than a minute.

13:59.000 --> 14:03.000
It's basically lots of points with some kind of shapes and colors,

14:04.000 --> 14:06.000
but it's an interactive photo,

14:06.000 --> 14:07.000
where you can move around,

14:07.000 --> 14:11.000
unless you stay kind of at the same location,

14:11.000 --> 14:14.000
where the acquisition of the data

14:14.000 --> 14:17.000
was made by some kind of a specific camera.

14:17.000 --> 14:20.000
And yeah, this is not really supported in fact,

14:20.000 --> 14:25.000
and there is actually not that many viewer that supports that.

14:25.000 --> 14:28.000
It's a specific thing.

14:29.000 --> 14:33.000
You can also do some analysis.

14:33.000 --> 14:36.000
If you want to know how many nodes,

14:36.000 --> 14:37.000
how many cells,

14:37.000 --> 14:39.000
the bounds of the scene,

14:39.000 --> 14:42.000
you can use just very simple tool to do that.

14:42.000 --> 14:43.000
So here we have,

14:43.000 --> 14:46.000
you can show in the scene the number of points.

14:46.000 --> 14:47.000
And in the terminal,

14:47.000 --> 14:49.000
you can have many more information,

14:49.000 --> 14:50.000
for example,

14:50.000 --> 14:52.000
the name of the animations and stuff like that.

14:52.000 --> 14:56.000
So you can use it as an analysis tool.

14:56.000 --> 15:00.000
And you can even, from the command line,

15:00.000 --> 15:02.000
say you don't want to do an actual render,

15:02.000 --> 15:04.000
you just want to,

15:04.000 --> 15:05.000
you just want to,

15:05.000 --> 15:07.000
when it without rendering and just,

15:07.000 --> 15:09.000
oh, give me some info about my file,

15:09.000 --> 15:10.000
basically,

15:10.000 --> 15:14.000
you can definitely do that in that very useful.

15:14.000 --> 15:17.000
And we also have scientific visualization,

15:17.000 --> 15:19.000
which is kind of a specific thing for us,

15:19.000 --> 15:20.000
with the viewer,

15:20.000 --> 15:23.000
but it's explained by the history of the project,

15:23.000 --> 15:25.000
because we basically started with that.

15:25.000 --> 15:28.000
That was the first features we had in the project,

15:28.000 --> 15:29.000
like,

15:29.000 --> 15:32.000
because we come from a background of scientific visualization,

15:32.000 --> 15:33.000
mechanics,

15:33.000 --> 15:34.000
so that's why.

15:34.000 --> 15:35.000
So yeah,

15:35.000 --> 15:37.000
you able to,

15:37.000 --> 15:40.000
shows a column up on the surface of the model.

15:40.000 --> 15:42.000
If there is a data on the surface of the model,

15:42.000 --> 15:43.000
to show column up with,

15:43.000 --> 15:45.000
and you can also do volume rendering,

15:45.000 --> 15:47.000
here's the same idea as before,

15:47.000 --> 15:50.000
where you able to do volume render with,

15:50.000 --> 15:52.000
with a different colors and to blending with the,

15:52.000 --> 15:53.000
with the depth.

15:56.000 --> 15:57.000
Well, is that it?

15:57.000 --> 15:58.000
I mean,

15:58.000 --> 15:59.000
that's a lot of features.

15:59.000 --> 16:01.000
You can use this very simply,

16:01.000 --> 16:03.000
and there is a ton of features that are available,

16:03.000 --> 16:04.000
if you want them,

16:04.000 --> 16:05.000
we do not,

16:05.000 --> 16:06.000
we do not force them to you,

16:06.000 --> 16:07.000
it's just the here,

16:07.000 --> 16:08.000
you use them,

16:08.000 --> 16:11.000
but there is actually much more.

16:11.000 --> 16:12.000
First,

16:12.000 --> 16:15.000
Fed is plugin based.

16:15.000 --> 16:17.000
That means that all of our dependencies,

16:17.000 --> 16:18.000
except VtK,

16:18.000 --> 16:20.000
which is a main dependencies that you need,

16:20.000 --> 16:22.000
all of our dependencies are optional.

16:22.000 --> 16:24.000
So, if you build,

16:24.000 --> 16:25.000
you yourself,

16:25.000 --> 16:28.000
you don't need to actually enable all of these dependencies,

16:28.000 --> 16:29.000
if you don't want them,

16:29.000 --> 16:30.000
if you don't need them,

16:30.000 --> 16:33.000
so you will end up with less complexity,

16:33.000 --> 16:34.000
of course,

16:34.000 --> 16:35.000
because you don't need to build,

16:35.000 --> 16:37.000
let's say you don't want CID,

16:37.000 --> 16:39.000
you don't do steps, you don't do HHS,

16:39.000 --> 16:40.000
and you don't need open cascades,

16:40.000 --> 16:42.000
then you don't need to enable open cascades,

16:42.000 --> 16:44.000
and then you have a simpler build system.

16:44.000 --> 16:45.000
So,

16:45.000 --> 16:49.000
we have that for all of all our dependencies,

16:49.000 --> 16:51.000
you can turn them off if you don't want them.

16:51.000 --> 16:52.000
And,

16:52.000 --> 16:55.000
you can also use this plugin mechanism to create your own plugin.

16:55.000 --> 16:58.000
If you have your own file formats,

16:58.000 --> 17:00.000
that you want to create a plugin for,

17:00.000 --> 17:03.000
and you want to be able to load your own file into Fed,

17:03.000 --> 17:04.000
to do some renderings,

17:04.000 --> 17:06.000
you can easily do that,

17:06.000 --> 17:07.000
and someone already did.

17:07.000 --> 17:11.000
We have Abacus plugin for Fed.

17:11.000 --> 17:14.000
Abacus is a proprietary library,

17:14.000 --> 17:18.000
that's for to open this kind of file,

17:18.000 --> 17:19.000
which are Abacus files.

17:20.000 --> 17:23.000
Of course, we cannot ship it with our bandwidth,

17:23.000 --> 17:24.000
because it's proprietary,

17:24.000 --> 17:26.000
but someone did that,

17:26.000 --> 17:29.000
and they are able to view their Abacus files.

17:32.000 --> 17:33.000
Okay,

17:33.000 --> 17:35.000
and another thing that you can do,

17:35.000 --> 17:37.000
is that you need to understand,

17:37.000 --> 17:39.000
is that Fed is not only an application,

17:39.000 --> 17:41.000
but it's a library.

17:41.000 --> 17:43.000
There is actually Fed's application,

17:43.000 --> 17:44.000
and the live Fed,

17:44.000 --> 17:47.000
which is a library that is inside of Fed.

17:47.000 --> 17:50.000
And this library is actually shipped in our binaries,

17:50.000 --> 17:51.000
or if you build yourself,

17:51.000 --> 17:54.000
or of course, Abacus 2s a library.

17:54.000 --> 17:57.000
So it's simply 17.

17:57.000 --> 17:58.000
And here,

17:58.000 --> 17:59.000
the example here,

17:59.000 --> 18:00.000
or not for you to actually read,

18:00.000 --> 18:01.000
I don't understand,

18:01.000 --> 18:02.000
it's just to show you,

18:02.000 --> 18:04.000
this is the number of line of code you need,

18:04.000 --> 18:06.000
if you want to show a window of Fed,

18:06.000 --> 18:07.000
with a model inside of it.

18:07.000 --> 18:12.000
That's actually six lines of codes.

18:12.000 --> 18:13.000
And another,

18:13.000 --> 18:15.000
another one is another example,

18:15.000 --> 18:16.000
that's a different kind of example,

18:16.000 --> 18:17.000
where you don't,

18:17.000 --> 18:19.000
you have interactivity or not.

18:19.000 --> 18:20.000
So yeah,

18:20.000 --> 18:21.000
that's,

18:21.000 --> 18:22.000
where it is,

18:22.000 --> 18:23.000
there is not much more to it.

18:23.000 --> 18:26.000
And it is also available in Python.

18:26.000 --> 18:27.000
So here,

18:27.000 --> 18:29.000
I have an example in Python,

18:29.000 --> 18:31.000
to do some kind of interactivity,

18:31.000 --> 18:32.000
wondering,

18:32.000 --> 18:33.000
with Python buildings,

18:33.000 --> 18:35.000
and it's available on Pipi,

18:35.000 --> 18:36.000
you can put in Stalfet,

18:36.000 --> 18:37.000
and you just get the Python buildings,

18:37.000 --> 18:39.000
and you can start import Fed,

18:39.000 --> 18:40.000
and that's it.

18:40.000 --> 18:42.000
It is not super clear,

18:42.000 --> 18:44.000
so if it was a contrast,

18:44.000 --> 18:47.000
but it's basically someone writes,

18:47.000 --> 18:49.000
Python script using Fed,

18:49.000 --> 18:51.000
and then they wonder,

18:51.000 --> 18:52.000
in two of the time you're using Python.

18:52.000 --> 18:54.000
So that's a specific use case,

18:54.000 --> 18:59.000
but that's funny that it's actually possible to do that.

18:59.000 --> 19:01.000
And here are some showcase of things

19:01.000 --> 19:04.000
that have been done using the Python buildings.

19:04.000 --> 19:07.000
So you can have nice camera movements,

19:07.000 --> 19:10.000
because you can control the camera,

19:10.000 --> 19:12.000
using the bindings,

19:12.000 --> 19:14.000
so you can just move it around,

19:14.000 --> 19:17.000
using your own camera pass.

19:17.000 --> 19:20.000
Here we have an option that I'd not talk about,

19:20.000 --> 19:22.000
which is called Final Shader,

19:22.000 --> 19:26.000
that lets you run an OpenGL Shader at the end of the rendering,

19:26.000 --> 19:28.000
to do this kind of stuff.

19:28.000 --> 19:29.000
And here,

19:29.000 --> 19:31.000
the compositing is not done,

19:31.000 --> 19:32.000
with Fed,

19:32.000 --> 19:33.000
the compositing of different images,

19:33.000 --> 19:35.000
but we did generate all the pages,

19:35.000 --> 19:39.000
and these are compositing using another tool.

19:40.000 --> 19:42.000
So all things you can do,

19:42.000 --> 19:45.000
which are actually quite easy to do with Fed.

19:45.000 --> 19:48.000
But I talk about Python buildings,

19:48.000 --> 19:49.000
but that's not it.

19:49.000 --> 19:51.000
We actually have C buildings,

19:51.000 --> 19:52.000
Java bindings,

19:52.000 --> 19:55.000
and of course, Java script binding using WebAssembly,

19:55.000 --> 19:59.000
in order to be able to do the web version.

19:59.000 --> 20:04.000
And the C binding have been truly important,

20:04.000 --> 20:07.000
because we have already seen people creating Julia bindings,

20:07.000 --> 20:10.000
and we have someone else working on Web bindings,

20:10.000 --> 20:14.000
and this will not be impossible without the C bindings, of course.

20:14.000 --> 20:17.000
So if you want to give it a go,

20:17.000 --> 20:19.000
I'm sure you will find a way to use Fed

20:19.000 --> 20:22.000
even if you use some kind of special language.

20:22.000 --> 20:24.000
We'll find a solution.

20:24.000 --> 20:28.000
Fed can be integrated into existing applications.

20:28.000 --> 20:30.000
We have examples for that,

20:30.000 --> 20:32.000
integration into QML,

20:32.000 --> 20:34.000
integration into QUT, into FLCK,

20:35.000 --> 20:38.000
this is just an example we managed to put together,

20:38.000 --> 20:41.000
but I'm sure any framework in any framework

20:41.000 --> 20:43.000
you will be able to use or API

20:43.000 --> 20:46.000
to integrate into your own application.

20:46.000 --> 20:49.000
And this way you would just be able to integrate a window

20:49.000 --> 20:51.000
to show a 3D model into your application,

20:51.000 --> 20:54.000
without the need to write any kind of 3D model

20:54.000 --> 20:56.000
reading or wondering.

20:58.000 --> 21:01.000
There is an example of that called Exhibit.

21:01.000 --> 21:04.000
It's actually pretty well known application at this point,

21:04.000 --> 21:07.000
because it's part of the GNOME ecosystem,

21:07.000 --> 21:10.000
and there will just be people using Exhibit without knowing

21:10.000 --> 21:13.000
that there is a backend to it, which is called the default.

21:13.000 --> 21:16.000
But that's what is made for, right?

21:16.000 --> 21:20.000
Okay, and in terms of perspective,

21:20.000 --> 21:23.000
what are we cooking right now?

21:23.000 --> 21:27.000
So there is a big plan to do Android app.

21:27.000 --> 21:30.000
So here we have the example of the Android app on the right.

21:30.000 --> 21:33.000
It's kind of working,

21:33.000 --> 21:36.000
but we still have a prototype working,

21:36.000 --> 21:38.000
but we did not realize the amount of work

21:38.000 --> 21:41.000
to do something that is clean and quick and cheap.

21:41.000 --> 21:43.000
So it will come in 2026,

21:43.000 --> 21:46.000
but we have no dates in mine yet.

21:46.000 --> 21:49.000
And there is also IFC support.

21:49.000 --> 21:52.000
So I'm not sure if you do IFC files,

21:52.000 --> 21:55.000
but this is something that is happening

21:55.000 --> 21:57.000
in three months.

21:57.000 --> 22:00.000
The next question we get IFC support.

22:00.000 --> 22:04.000
So this has been requested by the community for a long time,

22:04.000 --> 22:07.000
and we are very happy to be able to ship it very soon.

22:07.000 --> 22:10.000
Yes, that's it for me.

22:10.000 --> 22:13.000
Very happy to take any questions.

22:13.000 --> 22:17.000
Yes?

22:17.000 --> 22:19.000
Cool.

22:27.000 --> 22:30.000
This is amazing, and I have so many questions.

22:30.000 --> 22:32.000
I'm going to chase you down.

22:32.000 --> 22:34.000
I've got a lot to talk about,

22:34.000 --> 22:38.000
but a couple specifically.

22:38.000 --> 22:42.000
So I want to do everything to serve aside.

22:42.000 --> 22:47.000
So I want to do rendering three models for preview,

22:47.000 --> 22:50.000
which is on the headless serve.

22:50.000 --> 22:51.000
Okay.

22:51.000 --> 22:53.000
If the time when dealing with graphics,

22:53.000 --> 22:55.000
you need like a display context.

22:55.000 --> 22:57.000
Can it be done?

22:57.000 --> 22:58.000
Absolutely.

22:58.000 --> 22:59.000
Amazing.

22:59.000 --> 23:02.000
You can use IGL or OSMESA to do some rendering.

23:02.000 --> 23:05.000
OSMESA is out of luck now,

23:05.000 --> 23:08.000
that IGL using CPU is coming up,

23:08.000 --> 23:10.000
so anywhere you can use,

23:11.000 --> 23:14.000
and it's also dynamically loaded,

23:14.000 --> 23:17.000
so you don't need different executable or stuff like that,

23:17.000 --> 23:19.000
because we don't link with the intel.

23:19.000 --> 23:21.000
So you can just, you can actually,

23:21.000 --> 23:24.000
there is an option called dash dash for rendering back end.

23:24.000 --> 23:26.000
When you say, you can only use,

23:26.000 --> 23:27.000
and if you don't say it,

23:27.000 --> 23:29.000
it will be automatically tried to find the right one.

23:29.000 --> 23:30.000
So, yes?

23:30.000 --> 23:31.000
Brilliant.

23:31.000 --> 23:34.000
Also, is anybody working on Ruby behind things?

23:34.000 --> 23:35.000
If not, I might.

23:40.000 --> 23:52.000
So, thank you for this works.

23:52.000 --> 23:57.000
So, if I were to write plugin for something super,

23:57.000 --> 24:01.000
super niche, would you want to have it?

24:01.000 --> 24:07.000
If the specification of the format of public,

24:08.000 --> 24:09.000
yes.

24:09.000 --> 24:11.000
If this is your own internal format,

24:11.000 --> 24:13.000
that nobody can write file for.

24:13.000 --> 24:14.000
No.

24:14.000 --> 24:17.000
But, we will advertise that this plugin exists,

24:17.000 --> 24:20.000
and patch your link to your GitHub,

24:20.000 --> 24:22.000
or to your repo, anywhere but.

24:22.000 --> 24:23.000
Okay, that's great.

24:23.000 --> 24:25.000
We have reverse engineering,

24:25.000 --> 24:26.000
an old game,

24:26.000 --> 24:29.000
and it has its own model format.

24:29.000 --> 24:31.000
Oh, which game is it?

24:31.000 --> 24:35.000
It's like there was this old touch publisher,

24:35.000 --> 24:36.000
called Derby Lex.

24:36.000 --> 24:37.000
No, I'm not made.

24:37.000 --> 24:39.000
They made like racing games.

24:39.000 --> 24:40.000
Okay, okay.

24:40.000 --> 24:43.000
I'm trying to figure out how I make the models

24:43.000 --> 24:44.000
more visible to me,

24:44.000 --> 24:45.000
and this would be great.

24:45.000 --> 24:46.000
Yeah.

24:46.000 --> 24:47.000
So, with reverse engineering,

24:47.000 --> 24:49.000
that is always a legality problem.

24:49.000 --> 24:51.000
So, if that's clear that the code is legal,

24:51.000 --> 24:53.000
yeah, no problem to integrate it.

24:53.000 --> 24:56.000
But, yeah, that's just the one thing that on top of my mind.

24:56.000 --> 24:57.000
But, if it works,

24:57.000 --> 25:00.000
if you have put the specs that you will be basing

25:00.000 --> 25:01.000
a little bit somewhere,

25:01.000 --> 25:03.000
so that the people in your community can use,

25:03.000 --> 25:04.000
of course, as you can see,

25:04.000 --> 25:06.000
we support QuakeMDL,

25:06.000 --> 25:08.000
which is Canada-Nish.

25:08.000 --> 25:10.000
I would say, I mean, the people from the Quake community

25:10.000 --> 25:11.000
are super happy to get it,

25:11.000 --> 25:12.000
but nobody else care about it,

25:12.000 --> 25:14.000
but we are very happy to have made it.

25:14.000 --> 25:16.000
Because of spec or like everywhere,

25:16.000 --> 25:18.000
you can find them on different websites.

25:18.000 --> 25:19.000
So, that was actually,

25:19.000 --> 25:21.000
is that made sense for us to add it.

25:21.000 --> 25:23.000
Okay, thank you.

25:27.000 --> 25:28.000
Short question.

25:28.000 --> 25:30.000
Is the next presenter here?

25:34.000 --> 25:35.000
Okay.

25:35.000 --> 25:37.000
It's supposed to be graphite, I guess.

25:37.000 --> 25:40.000
Okay, I can have more questions.

25:49.000 --> 25:52.000
Do you do anything about export of models?

25:52.000 --> 25:53.000
No.

25:53.000 --> 25:55.000
This is something we consider adding.

25:55.000 --> 25:57.000
The problem is that,

25:57.000 --> 26:00.000
whiting an exporter is another story

26:00.000 --> 26:01.000
and a reader.

26:01.000 --> 26:03.000
So, maybe at some point,

26:03.000 --> 26:06.000
someone we could improve the leapfade

26:06.000 --> 26:08.000
to be able to have some kind of export back in,

26:08.000 --> 26:10.000
and then write another project

26:10.000 --> 26:12.000
that would be using the leapfade to do the

26:12.000 --> 26:14.000
importance and the export.

26:14.000 --> 26:16.000
Yeah, it's a lot of work,

26:16.000 --> 26:19.000
and not really in the planning.

26:21.000 --> 26:23.000
Can I jump in with my own question?

26:23.000 --> 26:25.000
So, as a beginner,

26:25.000 --> 26:28.000
this, I mean, it looks like a very interesting project.

26:28.000 --> 26:30.000
You mentioned there was, you know,

26:30.000 --> 26:33.000
you can do it simply through Pip and I Python.

26:33.000 --> 26:34.000
Yeah.

26:34.000 --> 26:36.000
So, is there good documentation,

26:36.000 --> 26:39.000
any sort of tutorials online on how to get started

26:39.000 --> 26:41.000
with creating your own?

26:41.000 --> 26:42.000
Yeah.

26:42.000 --> 26:46.000
So, we do have a page dedicated to how to use

26:46.000 --> 26:48.000
the leapfade in Python.

26:48.000 --> 26:50.000
To be honest, it could be expanded,

26:50.000 --> 26:53.000
but we do have, in our website,

26:53.000 --> 26:54.000
an example to show that,

26:54.000 --> 26:56.000
and then inside the repo,

26:56.000 --> 26:58.000
you have an example, directory,

26:58.000 --> 27:01.000
that contains five or six different examples

27:01.000 --> 27:04.000
on how to do what you want with Python.

27:04.000 --> 27:07.000
And we are also dedicated with a little bit,

27:07.000 --> 27:10.000
called FedPitonX2az,

27:10.000 --> 27:13.000
that is maintained by someone in our community.

27:13.000 --> 27:16.000
And in this Python module,

27:16.000 --> 27:19.000
they use that actually created small scripts,

27:19.000 --> 27:21.000
and small utilities that let you do,

27:21.000 --> 27:23.000
you know, the movement of camera,

27:23.000 --> 27:25.000
stuff like that, it's actually baked.

27:25.000 --> 27:26.000
Yeah.

27:26.000 --> 27:27.000
Cool.

27:27.000 --> 27:28.000
Thank you.

27:28.000 --> 27:29.000
Oh, we've got a question at the back.

27:29.000 --> 27:31.000
Also, do we, I think we've got our next speaker.

27:31.000 --> 27:32.000
Sure.

27:32.000 --> 27:33.000
We're all about it.

27:33.000 --> 27:34.000
One last question.

27:34.000 --> 27:35.000
One last question.

27:35.000 --> 27:36.000
One last question.

27:42.000 --> 27:44.000
That's the very best one, though.

27:44.000 --> 27:45.000
Yes.

27:45.000 --> 27:46.000
Thank you.

27:46.000 --> 27:48.000
Just wondering about how dynamic it is.

27:48.000 --> 27:50.000
Like, you showed it at the end

27:50.000 --> 27:52.000
that you can animate the camera.

27:52.000 --> 27:53.000
Yeah.

27:53.000 --> 27:56.000
Can you actually animate the 3D model, no other thing?

27:56.000 --> 27:57.000
Yeah, absolutely.

27:57.000 --> 28:00.000
Maybe there was a clear, but I had a slide on animation.

28:00.000 --> 28:02.000
You can definitely do your animation.

28:02.000 --> 28:05.000
Some formats are more optimized and also.

28:05.000 --> 28:07.000
For example, we do have a screening and morphing

28:07.000 --> 28:09.000
baked in the GPU.

28:09.000 --> 28:11.000
In GPU rendering for certain formats,

28:11.000 --> 28:12.000
but not for other.

28:12.000 --> 28:14.000
So that really depends on the format you're using.

28:14.000 --> 28:17.000
We try to make it as good as possible for animation,

28:17.000 --> 28:20.000
but set in formats, let us do nice things for GPU

28:20.000 --> 28:21.000
rendering.

28:21.000 --> 28:23.000
Also require to just move on the machines,

28:23.000 --> 28:24.000
stuff like that.

28:24.000 --> 28:27.000
And you can do it from the API directly.

28:27.000 --> 28:28.000
Yeah.

28:28.000 --> 28:29.000
Yeah.

28:29.000 --> 28:30.000
Thank you.

28:36.000 --> 28:38.000
If you want stickers, we have stickers here.

28:38.000 --> 28:40.000
So grab your sticker.

