All right, we'll give everyone some time to jump in.
Am I coming through? All right.
OK. Awesome.
And for anyone who is in the stage chat, I'll just post the
thread there as well.
And while we wait, please feel free to um add questions to the thread.
Mhm.
See,
I wonder if the new Mad Max is out.
Let's see. Oh yeah, it is.
Hm
Should go check that out.
All right, we're five minutes past, we'll go ahead and get started.
Uh I do have a few um,
housekeeping the items to go over right now.
Um As a reminder, you're welcome to ask me pretty much anything you like.
Um and the uh thread there.
Um
Let's see your sauce updates. That's a thing. Um
We actually made some pretty good progress
very recently on the new rendering engine.
Uh particularly we actually have it um binding Fruits engine under.net eight
with very minimal modifications to uh
uh to for extension itself.
Uh Let's see,
what else do I got here? Um
Just wanna
give a little bit
of a shout out to
Jax um
or uh nus
I believe.
Um they had pointed me in the direction of a
lot of their uh modification work that they were working on
for their own spin on the.net eight
mods for
uh the headless
along with some other quality of life stuff that they've been working on.
Don't know how much that overlaps with uh Csiro's work,
but just give everyone a heads up as far as
what's generally been driving some of the uh internal modifications,
uh The modifications made to Fruin
thus far, it's hard to say if we will see that in an official release anytime soon,
some of them do break certain things. So for example,
uh one of the modifications that were made was compiling Fruits
Engine with C with C# 11.
Um I'm sure those of you in the modding scene
know that um
Discord likes to break a lot under.net eight.
If you've tried it.
Um The reason for that is kind of funny. Um
It's actually a quirk and Mono that allows the Discord uh game SDK to work.
However, under proper.net, anything under C# 11
will just cause a runtime exception due to a delicate being uh garbage collected
uh way too early.
Um But switching over to C# 11 does cause a few other problems in Fruits Engine.
Um I will be documenting those on the public issue tracker here pretty soon.
Um Just so we have tracking for everyone,
so everyone knows what we're working on in that regard.
Uh This doesn't mean we're gonna have.net
eight anytime soon in Fruits engine proper,
but it does kind of help people who are trying to run.net eight under. Um well run for
engine under.net eight for the headless
uh other stuff just generally flushing some deprecated code here and there.
Um We have some stuff to how the worker pools work. Uh that's currently being vetted
along with some just generally deprecated uh TLS stuff
that is no longer supported and newer versions of.net
uh We may do an experimental build with the TLS stuff.
Uh Froch seems to recall that something broke whenever he tried to go through and
remove the deprecated SSL three and TLS stuff,
he doesn't remember what exactly it was and apparently this
was a quite some time ago whenever he did that.
So, you know, since there's no
recollection as far as the specific thing that broke,
it may not even be a thing anymore,
but we're gonna do an experimental build most
likely regardless just to make sure that,
you know,
it was basically nothing or that got fixed in newer
versions of the uh various different SDKS that we use.
Uh
Let's see, what else. What else? What else?
Oh Right. Shader update one, lots of progress on that one.
There was like one shader that didn't, that didn't pass uh some cursory Q A.
Um So just need to fix that.
Um After that, that should be good to ship.
That was the only issue that was found during review.
So, uh, I just need to go through and get on that probably today after I'm done here.
Um,
and that should be good to
go. Um, no promises on when that's gonna ship.
Uh, but I did notice that fruits had updated the branch most re very recently to, uh,
track some of his work.
So I would probably guess if I can get that fixed in today,
it'll probably be either in the next update
or the update immediately after that should fix.
A lot of bugs people have seen
with certain values and shader variants just not being computed.
That was
a
really fun and awful one to figure out why.
Uh
And there's definitely a story there somewhere but uh let's just say, um I,
I stared into the void for a little bit
after realizing what had broken and it is entirely
another unity is which means that uh
sauce at this point can't come soon enough.
Uh I guess other random sauce bits um inputs working with sauce. So that's awesome.
Uh We're actually able to forward that over to Fruits Engine.
We're working on asset connectors now.
Uh So that means actually bringing in mesh data and
textures into sauce uh and then setting that up within bevy
um and getting that actually displayed onto the screen,
uh Once that's looking good,
we'll probably end up bootstrapping uh VR support as well.
So you can actually put a headset on and look around
and then from there, it's probably just gonna be uh working on shader
and then figuring out the audio uh solution
for that and multimedia alongside of that.
Uh So I'm pretty hopeful about those.
Uh We're actually able to reuse a lot of the Fruits Engine connector.
API S for anyone who's familiar with uh the
connectors like the device drivers and so on.
Uh We're mostly reusing a lot of those. Um
that's probably gonna change before saw ships because we also want to go through and
completely redo the runner API S and connect our interfaces and stuff like that.
Uh At some point down the line before sauce ships a lot.
That's just to go through and minimize copies
and to bring additional performance along the way.
Um But at this point, I would say sauce is even if we have it functioning,
even if it looks good,
it probably won't be ready to ship until after we
have multiprocessing support and proper.net eight inside a Fruits engine.
Um So just a me some expectation setting there.
Uh
I see your rules dialogue is currently delayed uh just because
we're working through a lot of internal training for cloud access.
Um It's been a long time coming
um
But this will also enable uh people like prime and
myself to uh have more direct access to the cloud.
Um We do take uh protection of people's data very seriously.
And as a part of that, we are instilling uh GDPR training across the entire team
uh at various different degrees uh as a developer, that means I get the whole
two plus hours worth of training.
Uh
So we're gonna be uh in instilling that and a lot of access control policy and
stuff like that for pretty much anything that
would potentially expose any amount of user data.
This includes things like the get user info command and so on.
So, uh just a little bit of insight into what's been delaying that.
Uh once that's done,
we'll be able to uh I'll be able to have or rather I'll
be able to have more direct access to the cloud at that point.
Um as will prime and hopefully that'll enable us uh the both of us to
be able to share more cloud uh features with a little bit more confidence.
Uh There's just a lot of bits and pieces for that feature
that kind of requires. Uh We do some
weird non, not exactly intuitive things.
Uh For example, for the age rating uh side of things for sessions
like
you as a user after you've started a session cannot change that age rating,
but moderation
has the ability to change that age rating depending on
uh whatever ticket comes in or something along those lines,
which kind of makes things a little bit weirder on the cloud side.
Uh in terms of making sure that only certain people can change, uh,
settings like that.
So, yeah, that's kind of where that one's currently hung up. Um
Hopefully that will be un
hung up soon enough.
But yeah. Uh, so I think that's pretty much all of the housekeeping items.
I guess we'll go ahead and switch over into questions now.
Um,
and it looks like I already answered moderns here.
Uh, but I do see some people who are streaming in.
Uh Sauce is going well.
Um We have.net eight with Fruits Engine
working using a modified version of Fruits Engine
um
inputs good
getting assets wired up. And then after we get all that stuff, uh wire wired up.
Oh, and actually I just forgot
to mention we also got slots connected as well.
So slots are being streamed into uh sauce as well. So,
you know, we kind of have a lot of the framework there to build off of.
So that's where we're at with sauce.
Um
Electrons
asks, um
You gave a tentative if all goes well,
end of the year estimate for sauce a few months ago.
How's that looking on track or looking like that might change
honestly on track at this point. Um I'm feeling pretty good about that.
Um Unless something totally catastrophic happens,
which is still possible just to be clear.
Um I'm feeling pretty good about that estimate.
Uh So we'll just have to see kind of what happens uh like over the summer.
I figure that will probably end up giving us a better
idea of how well we're actually tracking for that timeline.
Um
Yeah.
So your uh
reading asks,
would the Headless C may be a newer.net already with the performance updates
or is it also restricted through unity to stick to older.net versions?
That's a weird one. So,
OK, where to start?
Um
People have made mods to run the Headless under.net
eight and they seem to work generally pretty well.
Um
And uh
well, I mean,
some of the stuff, uh so some of the stuff we uh some of the stuff we have to worry about
uh under proper.net eight
would basically be um data model um compatibility.
Some other people have already noticed that things break with the
data model in terms of compatibility under.net eight versus Mono.
Um But uh and ju just for people who don't know whenever, say mono,
I'm referring to more or less unity here.
Um Though we do use mono for the headless server.
So just quick clarification on that.
Um
So that's something that would have to be figured
out or we just start pushing.net eight everywhere.
Uh The data model rework would help with
the compatibility problem between Mono and.net eight.
But
at the same time, it's one of those weird things where it's like, OK,
why go for the data model rework
um to ju just for the sake of making things compatible
whenever you can just go through and go all in
a.net eight and reap performance rewards from that instead.
Uh That's not a hint as far as where we're leaning right now for any future work.
Um, but that is some of the, the, the
that's, that is some of the thought process that goes into those decisions.
So, yeah,
um,
basically we do.net eight on the client headless follows as well.
Everyone's on.net eight if we make that decision.
All right. Moving on, Luks
Ovo asks, you're part of the business side of YD MS, right?
If so has the team considered using open collective as a revenue source,
any pros or cons you can share?
Uh That's correct. I am part of the business team um
and open collective. I mean,
it's just kind of weird uh because open collective is really more geared towards
uh open source projects which were not as of yet.
Um We do have some ideas on how we want to go open source,
but
we're just not there yet. And to me, it just seems
uh how to put it.
It seems
weird
to be a closed source project primarily
for the time being
and then go through and set an open collective project to do fundraising.
So,
uh maybe once we actually cross the open source,
uh once we actually cross the open source uh border there,
maybe we'll look into doing that.
We'll see though.
Oz asks, oh, boy, when am I getting my GDPR I said, well,
well, um
what I will say is details are being worked out with moderation as we speak. But
uh and that, that there, there's a lot of truth to that.
Um But right now we're currently working out what that training needs to look like.
So
uh if you're on moderation and you're listening again, you'll hear details when,
when, when uh when,
when the moderation leads have something to share with you basically
modern ass. What do you mean by assets? Would that be textures, models, et cetera?
Yes. Yes, it would.
Uh
modern as
shader update, one complete
uh as I mentioned uh during the housekeeping side of things, um
it largely is at this point.
Um And if we have time, I'll go into the very fun story
of uh
why shader got into a bit of a weird state there.
Um It sucks basically. Uh
But yes, it is more or less complete.
There's like one shader that didn't pass uh that, that didn't pass uh testing.
Uh That's an easy fix.
I'll get, I'll, I'll probably get on it as soon as we're done here today.
So
Zyl
asks,
should there be any performance difference between tiling a texture over a quad I
EU vs go outside of the 0 to 1 range versus not tiling ie keeping
to the 0 to 1 range for UVS.
There shouldn't be a performance difference
should be about, should be about the same
I mean,
I guess not unless you have some, like, really stupid big, uh,
coordinate frames there.
Like you have UV,
like you have your UVS going like all the way
out to like 40 or 50 or something like that.
Hm.
Are you noticing a performance difference?
I guess it's a follow up question there
and if, so what specific shader are you seeing a performance difference on?
Ok.
Um, if you can,
yeah, that is pretty big, but at the same time, it's UV should be,
should be between a range of 0 to 1.
Um
So, I mean, really high tiles, uh really high tile settings shouldn't really
create a massive performance difference though.
Um And really we're just kind of going
off of unities built in texture transform stuff
if you don't mind filing an issue just so I can keep an eye on it
because a lot of the sauce work is gonna be ramping up here pretty soon.
Um That's something I can keep an eye on as we start migrating shader over. So
OK. Thank you.
Um
All right, going back down the list here,
uh Oz
asks given you have got fruit,
given you've gotten Fruits engine running on.net eight with modifications
could a Fru
engine level benchmark be done to test the performance
difference between Mono and.net eight in a more official capacity
um
at some point that's in the cards, but right now we need to go through and actually
get things uh on screen.
Basically, once we're at that point,
we'll look into doing some actual engine profiling there and doing
a bit of an apples to apples are as close as we can. Uh Comparison between Mono
Fruits
engine and.net eight Fruits
engine.
Uh Modern asks what is the performance comparison
between an alpha and cut out material?
Awful. That's what it is.
Um So
typically, um alpha blended objects,
they're,
they're easily one of the worst performance uh cases
you could ever throw at a graphics pipeline.
Uh There's a lot of reasons for this.
It's partially on the CPU and partially on the GP U. Uh
on the CPU, there has to be special sorting that gets applied on the GP U.
Uh Not only are the blend operations, not as fast using an alpha blended object,
but also
uh you have the problem of uh well,
you can see through it which means that
uh naturally you're gonna have more overdraw as well
and it gets worse uh as you start to stack up multiple alpha blended objects cut out.
On the other hand,
you don't need to apply any sort of special sorting logic on the CPU for them.
And then on the GP U, uh it's still,
it's more or less a matter uh of what you see is what you get.
So you don't need to apply any sort of special blend operations
anytime you hit a pixel that needs to be basically discarded
in a, in a fragment shader, you just discard it, it's gone.
You don't need to do anything special with it at that point.
So if you're looking for advice on
which one you should use from a performance standpoint, always prefer,
cut out where you possibly can make it work.
Um Otherwise
Alpha,
if that's the only way you can really go for whatever you're trying to achieve.
Yeah, I mean,
it is what it is.
No cryptic gass. Um
Well, apologizes then asks
um apologies if this has been asked in the past or is a bit pre-emptive?
But is there any idea of what syntax slash language law shader
may resemble upon release if someone were wanting to have an idea of
uh of flow slash structure ahead of time,
uh proto flux?
Sorry if you were expecting like direct access to shading languages,
it's proto flux.
Um
At least in the beginning
we may allow like WGSL uh like code snippets at some point in the future.
Let me just
get the link for that.
This is WGSL if you want to take a look at it, um
It's basically rust for, for shader more or less.
Uh but that's not gonna be, you can do full,
like you can do like full shader in this for the most part,
it's gonna be like small snippets,
you can inject into uh the specific shading
uh pipeline or phases of the shading pipeline
and a lot of this is more or less from a security standpoint and
also from a translation standpoint as well if we want to go through and support
like Metal
Direct X 12 and Vulcan
wherever those make sense. And by the way, Direct X 12
is a thing that we're gonna have to support. Thanks to Microsoft and Windows on arm
now because thanks Microsoft.
Um
like we, we don't wanna open up uh a whole lot of um we don't want to open things up to
uh
well, various incompatibilities down the road that we can't really control.
And we also want to be able to detect
uh certain kinds of behaviors that people are attempting to
used to
harass people with through shader as well.
Uh So th something like proto flux makes things a
lot easier to text certain kind of uh patterns and code
that we can uh easily just flag shader with and stuff like that.
Yep.
Uh Electronic
uh asks um
I saw someone complaining about the cost of cutout transparency.
How expensive is cut out versus say just doing it with the mesh?
I mean,
it's not really all that expensive.
Uh The mesh would probably be heavier if I'm honest,
a lot of that comes down to how raster sizers work.
So like if you have cut out transparency on like a quad, just a simple plane,
for example,
um you could make the case that you're like triggering
some uh re evaluation like in the depth buffer just
by going through and having cut out transparency there.
But that's gonna be less
than if you were just to go through and have the thing that
you're trying to do a cut out with just be recreated with triangles.
The triangles are gonna have much higher overdraw cost
to them just because you actually have to raster
each, every single triangle
and raster yours. Uh They literally go triangle by triangle.
Uh That's what your graphics card is basically
doing whenever it's going from the vertex uh uh
buffer into like the pixel buffer basically.
So
try not to go through and make your meshes too complicated.
Uh Which is where cut out transparency can help you a lot.
OK. Uh Question from reading with Splat will splat maps
uh for distant future source materials,
will splat maps have some kind of ca uh capabilities
to have a random noise distribution in on the textures to medicate repeating slash
tangling textures when stretched across larger objects or floors.
Uh
I mean,
whenever you get s splat maps are gonna work the same as they do today,
we're not looking to go through and add features to those shader,
uh they need to hit parity with what we are currently shipping in resin night.
Uh And what will we will be shipping with resonate later down the road
whenever we get to a point where the sauce migration is upon us.
Um
But if you're asking for
where you have custom shader
uh to have the ability to have like some sort of randomized sampling.
We could look into that as like a shader proto flux note or something like that.
Um That's actually a really interesting field of research of how
do you make your texture tiling not look like it's tiled.
Uh Let's see, moving on down the list.
Uh Modern asks out of curiosity is cut out on,
let's say clothes when you want to disable them better than having
them as a separate mesh.
And another platform I use something called UV tiled discard,
which is supposedly better, but I don't know,
I mean,
it's pretty much the same computational cost.
So
like
the GP U doesn't actually care.
Um anyone who's telling you that doing like a UV tile
discard or something like that is faster uh within a shader,
it's not really gonna help you very much like you're
really getting into micro optimization territory at that point.
And on modern desktop GP US, it's not gonna matter, it's gonna matter more.
So in mobile GP us, which as of right now,
I can't really think of a platform that allows custom
shader on like stand alone or anything like that.
Uh Reading asks and will we stay limited four channel to four channels for
flat maps or is there a way to establish more channels per material?
Well, as I said,
we're gonna be going for feature parity.
So what you have with flat maps today is
not likely to really change whenever we ship sauce.
Um
I'm also gonna note that
textures only really have four channels. That's where they top out.
Uh As far as the GP U is concerned.
So you're adding an additional texture there as well.
So, you know,
uh once we have custom shader, you can go through and really do whatever you want.
The shader that we have today will really be serving more as
prefabs and example material for you guys to build upon. So,
so if you want to go through and add like an entirely other texture,
you'll be able to do that.
I
wouldn't really recommend it
uh for performance reasons, but you can do that or will be able to do that.
Uh Let's see,
foolish asks in regards to the shader,
what's the difference between alpha and transparent?
Well, that's a fun one.
So
you have like alpha, which is just straight up alpha blending
like you, whatever you, whatever alpha value apply to the albedo or base color
is gonna go through and make that object more or less transparent.
Uh It doesn't care about really any sort of physically based transparency.
It's just you want it more transparent, we're gonna make it more transparent for you
versus say transparent, which is gonna be more physically based
you wanna use
uh the transparent setting on a PBS material uh
for things like bubbles and stuff like that,
you're basically saying, OK, um
the surface needs to go through and
like it needs to respond as if it were a physically based material.
So like if you have water,
you'd use the transparent uh blend mode rather than the alpha blend mode.
Uh because water is transparent but it's still reflective on the surface.
So
just one's physically based, the other one is not
modern asks. So we have a simplex 3D texture, but it's incredibly heavy.
If you scroll it, why would that be?
I mean,
I guess it depends on how you're scrolling it.
I'm not really scrolled a simplex 3D texture nor have I really looked at that code.
Um
If it's something we're constantly regenerating
or have to regenerate, then yes, it's gonna be heavy because we do that all on the CPU
if you're doing some UVW uh uh scrolling like on the
GP U 3D textures get kind of weird about that.
So,
you know, there's that as a possibility it could be that you hit something that
your particular GP U and driver set just doesn't like.
So
yeah.
Uh Actually, I don't think that the 3d simplex textures are,
I don't think any of our noise textures are uh generated on the GP U.
I'm pretty sure they're all CPU
At least I haven't seen any shader that do the generation step on the GP U.
So not unless there's something hiding in the very big include file that we have.
Yeah.
No, you didn't just miss this.
You still ask questions
going until the top of the hour.
Let's see.
Reading asks what would be your next major thing you
want to look at after sauce is fully implemented.
And on feature parody. Um
Honestly, I want to look at uh Baked Light Inc,
I have a lot of ideas on how we can go through and do that in a way
that would look well, pretty high quality. Um
And also enable builders to just opt into being part of like kind of like,
I guess the compute cluster to like generate
worlds like light maps and stuff like that.
Um Been looking a lot at a guy called uh M JP
S um
M JP SS uh Light Baker that he made.
Um
It, it uses a lot of techniques he used in a game called the Order 1886.
Um
So
really looking towards a lot of the work that he did there,
uh specular uh specular highlights look really good with it on static surfaces,
uh Normal maps really pop with it. Um When it comes down to ambient lighting,
uh lots of lots of really, really cool stuff there.
So that's kind of one of the bigger things I wanna look at down the road.
Foolish asks.
Um if requests on, on the
github,
could we get a sort of color map feature
that behaves like em missive but is not unlit in behavior.
I want to make different parts of my texture change in color
but not be full bright.
That
sounds like it probably be more applicable for material groups.
Uh Previously material layering.
Um
I need to find a good spot to really work on that.
The basic premise behind material layers or material groups rather
is uh
well,
since a lot of people really want polloi
and sorry, you're never getting polloi.
Um
Whenever I hear people ask for that,
what and I look at Pollo,
what I notice is that Poo
really puts a lot of focus onto varying different effects on top of each other.
And so with material groups, the idea is that you can take
pretty much any shading uh model. So like PBS metallic
on top of like say a Zixi Tomb, for example,
uh and then just kind of mask between them
and part of this uh would also
uh naturally include being able to composite different uh
layers on top of each other for a given
for like a given uh output for that shading model. So if you wanted to say
mask off your
emis
ofs,
and then just be able to dynamically shift those em missives in real time
uh on like a PBS uh metallic or PBS specular or whatever,
uh you'd be able to do that with material groups
and even be able to go even further and have more complex
uh surface types with this as well inside of a world.
Uh That's a little bit of a down the road sort of thing. I need to
really think about the implementation details on that one specifically
for shading uh model blending and stuff like that.
Uh But
I think that'd probably be
best served with that feature
electron
us uh asked.
So the survey say says that y'all are targeting like double performance minimum,
that's a crazy increase, right?
And a bit mad to just say as your target,
oh if only you knew how shitty
mono is in unity,
it is actually that bad.
So
yeah,
I don't think it's entirely outside of the realm of possibility.
Uh Modern asks,
do you have any pictures of sauce rendering things doesn't have to be resonate.
I'm just curious if you do. No, not yet.
Uh We're targeting resonate specifically because it's gonna be, well, it,
it is the end goal for sauce, right?
So once we have that
uh up and out there, we'll go through and be sharing those as soon as we have them
right now, we're just kind of working on some more interop layer stuff.
Uh Because uh whenever you have potentially
several gigabytes of assets that can be passed
to uh passed from.net land to rust land,
um
you kind of have to be very careful that you don't do any
unnecessary copies uh because you don't really have that much memory bandwidth.
So
yeah,
uh and just a quick note to, to NKI, as far as uh the following statement, resonate
is not well optimized at the moment.
It's extremely CPU inefficient because it's in a DEV state.
The vast majority of that comes from unity
just to be 100% clear there.
Like
it is, it is night and day when it comes down to
uh unity versus just raw.net eight.
It's, it's pretty hilarious and also kind of sad.
Let's see.
Uh Ozy asks, how is post processing going to work with sauce?
How much complexity is that going to add in and of itself?
I mean, we haven't really gotten to that point yet,
but it's not like we're really doing a whole lot of post processing today anyways.
Um
A lot of what we're doing, we already have uh alternatives for Bevy.
Um So, I mean, really it's gonna be more a matter of just trying to figure out like,
how do we wire that up? So it's accessible to you guys.
So, but we haven't gotten to that point yet.
We're really taking this one bit at a time. Um As they say,
uh you can't eat a, you can't eat an elephant all at once. So how do you eat it?
You eat it one piece at a time.
So,
let's see here.
Nki asks, what is the pro
drawback of using multiple materials for an object?
I've been splitting them up to simplify,
recoloring as opposed to trying to color textures outside.
Well,
let's consider for a moment that when we split a mesh up for multiple materials, um
you're basically like, it looks like one mesh inside of Blender moto Maya,
whatever you're using,
it looks like one mesh inside of resin night.
But the reality is uh under the hood,
it's actually multiple meshes that are being rendered and
it can't, they can't really be rendered all at once
uh in this particular case.
So it can be a little bit problematic uh from a performance standpoint depending
on how complex your mesh is.
Uh And how many instances of it you have.
So if it's like one mesh that has like, I don't know,
like five different materials applied to it,
it's probably gonna be OK,
especially if it's not like a mesh that's breaking, say I don't know
100,000 vertices. So
yeah,
just
be careful. Um how much, how many materials you break up on a mesh.
Um Because each mesh, basically, each sub mesh is really what they are,
is really what they end up turning into
those end up just
being their own meshes in effect um under the hood. So yeah,
just be careful.
Uh See
Isle asks, did you confirm whether or not GP U
incing is working properly?
Well,
so
it's not
under unity specifically. Um A while that was just due to the shader uh
and we're getting real close to story time here uh because of this.
Um But yeah, it's, it's not really doing incensing properly.
A lot of it just some weird um
is just really due to some weird, um,
shader compilation stuff that unity was not doing properly,
um
should maybe be fixed with shader update one once that gets pushed.
But yeah,
Nookie asks how much does having a bunch of slots
really matter if I have a bunch of inactive slots,
what kind of performance hit might that be?
So
I have a wiki page.
Let's see,
do, do, do do,
let's see, where is it? Where is it?
Because I know that
prime went through and put together a nice little page with regards to
uh performance.
Here you go.
Um
So if you're worried about your slot count
in terms of how well your thing is going to perform active or inactive,
you're looking at the wrong thing.
Um
They're not high impact.
Um The, the worst impact you could maybe
argue for is going to be loading performance, but even then
it's not
that big.
So
basically,
don't worry about slot count.
Now that being said to Cyrus Point,
uh it does depend on what is on those slots.
So if you have like some really heavy components
on those slots, then yes, you're probably gonna run into a bit of a problem.
So
that is something to be mindful of
what components you use are infinitely more important
than the fact that you even have a slot in the first place.
And I guess while we wait for people to post more questions, um
um
I'll go ahead and just tell the funny story about shader update one.
So
previously, uh in
years past,
um
we call those
the
pre resonate years,
um we were compiling shader um without like
instance, parameter set up or anything like that,
pretty much every shader was going to be its own unique instance of that shader.
Um
Well, with resonate, we did attempt to move all those in instance,
parameters inside of uh unity.
And uh what we didn't know is that there is a very specific flag
you have to set in unity for it to not strip out the um
um
to not sure about the shader variants uh for various different instance,
parameters
that it can't find within your project.
Well, given how reite
gets built,
um this immediately created a problem
and this isn't exactly a well documented feature of unity either.
Uh Yes, the shader stripping is there,
but whenever you're going through and building shader, the way that we do,
you expect that it's not going to need needlessly strip out your shader,
uh This was not the case.
Uh So went through
disabled that just pretty much told unity, don't touch anything, just build it,
do not strip it ever.
Um that actually fixed a bunch of problems for shader update one and probably
ones that people have maybe seen here and there and just didn't report.
But yeah,
so
that helped out a lot with shader update one.
Yeah.
Um,
ok.
Going back to questions, uh, modern asks when we get custom chairs with sauce.
I know people in VR chat
have been using weird workarounds by using lights and shells for stuff,
touching the mesh and having it deform.
Would we
be a, I guess,
be able to do that type of stuff and sauce like that too or would there be a better way?
I mean, yeah, in theory, um like if you wanted to go like really get into it and like,
say, for example,
uh you wanted to modify how shadows are received on a surface, using your shader,
you'll be able to like drill down into like the specific lighting code,
uh how we get shadow information for you
and all this other stuff. So yeah, you
should be able to do that.
Uh And yes,
nookie uh going through and having like slots that you just disable um is fine.
Um
It's ii I if, if someone's complaining at you for having a bunch of slots
just, just send them that specific wiki page
uh prime made that
literally just because he got tired of answering that question.
So, um yeah,
you should be absolutely fine
and um
to
radars uh point as far as the four k
uh texture there uh for the color mask stuff
um
for something like that.
For a texture like that, you may sit there and look at the resolution and say,
well, that's awful.
Um But once you actually compress it down using like BC
one compression or equivalent a TASTC compression or something like that,
it's actually quite compact in memory.
And for a texture like that, you,
you really shouldn't be loading that uh you really
shouldn't be loading a texture like that raw anyways.
So, or in an uncompressed state
that is
uh foolish asks, are we expecting any sort of performance uptick with the SU one?
Nope.
Uh No performance uh up updates should be coming with shader update one.
This is literally just to get a lot of long standing issues fixed and out the door.
Nie asks,
do you have any calling system ideas that you don't think have been implemented?
Um I mean,
object to object calling is definitely somewhere on the list down the road.
Um
Kind of want to do proper culling zones as well.
So you can like go through and just specify. OK.
Uh If anything is outside of this zone call it basically
including users and all that.
Um But that requires that we have like more uh trigger
volumes support for like trigger volumes and stuff like that.
Um But definitely something I wanna do.
Uh Pretty much what I, where I would like to see us go in terms of culling
is uh get to the point where,
well,
we basically have something on par with unreal as a minimum in terms of culling,
tolling
and again,
at a minimum that doesn't mean we're gonna do exactly what Unreal Engine does just,
that's just gonna be our minimum bar
here. How are we doing for time? Uh, we got eight minutes left.
Uh, once we have five minutes till,
um, we will no longer be taking any questions. So get those questions in now.
Uh Foolish ass sauce is farther out than
the maj major performance updates that are planned,
right?
It wouldn't be, it won't be a part of that, correct?
Uh
Well,
there's gonna be an interesting sy synergistic side of
those um depending on what decisions are made.
Um It also depends on where sauce is at whenever those decisions are made.
Um So like say sauce has asset loading working,
it has like shader in. So everything looks
vaguely the same, at least
um inputs working well.
VR is working well, pretty much if we were to just push that out the door
and you wouldn't really be able to tell the difference between
uh sauce and currently shipping, resonate beyond a few small things.
Like at that point,
we'd probably be working more in tandem
alongside of the any sort of performance updates that are, that are coming along.
Uh So like, let's say, for example,
multiprocessor ends up being the the the decision we make there
if multiprocessing up being the decision that we make
which is kind of required for sauce to,
to launch anyways.
Like we'd basically be just working in lockstep with that work.
So if we were already at a good spot with
sauce where you wouldn't be able to tell the difference,
um, we'd probably be looking at shipping sauce whenever that ships.
So,
yeah,
uh, one moment I need to go check my door.
We'll extend uh office hours by a few minutes.
Apologies. Everyone was expecting a package just didn't know when it was coming.
So, and that was it?
All right. Uh How much time do we lose? We'll give you guys a couple more minutes to
um submit questions.
Um
Let me go down the list here.
We didn't ask any chance.
We will see an uptick with more hardware support, for example,
the G the Giggle Puck and Quest Pro got native support recently.
But there are other headsets
uh that, that have been waiting too like Pi Max Crystal, PICO, Vario
hm DS and soon probably more.
So.
That's complicated one because
it's hard for us to add support properly without one of those headsets.
If we don't have it,
we it's, it's a best guess at best in terms of making those work.
So
would like to,
but we need access to those things.
Uh Tae
asks a number of avatars are VRM based, especially used by V Tubers and streamers.
Are there any plans for reite support? The spec and streamline avatar?
Creation using its metadata
and how would the material shade slash shader work?
So VRM is a fun one because it's a GLTF file just,
just literally rename it to GLTF or GLB
import it.
I don't understand why they decided to just
create their own standard.
That is literally just GLTF with a few extra
extensions that they could have just submitted upstream,
but that's all they are.
Um
And also the shader side of it is a little bit difficult uh to really address. So
uh let's see, your nui
ass are objects cold when they are behind you
and follow up.
Does this mean making a building out of multiple meshes
is more efficient than making out of one giant mesh?
Yes and yes,
we do apply uh frustum culling.
So not everything is always gonna be rendered at all times.
Just what's in front of the camera,
which also means that if you have a very big floor playing, for example,
um as one solid mesh that floor playing is, well,
we're always gonna render what's in front.
So
and thankfully, uh with how culling works uh on uh in terms of uh like the GP U, if
it's directly behind you GP US are generally smart enough
to not try to go through and uh render those pixels
because they don't exist.
Modern asks you guys are gonna make your own particle system for sauce, right?
It's actually probably gonna be mo be more of a matter of
making our own particle system for Fruits Engine at that point,
uh we do have to go through and that's one of the
things that have to be replaced before we move on to sauce.
So,
and we're gonna go through and cut questions there
and uh I'll get through the rest of these
uh foolish ass will sa
out for messing with the cameras for each eye,
for example, uh via shader.
Um
I mean,
maybe
like if you're looking to go through and apply like
a different view transform uh dependent on the I index,
we can maybe add support for something like that.
Like it's a little bit too early to really know how difficult that's gonna add in.
Uh That's gonna be to add in.
I wouldn't expect it in an NVP though.
I would not expect that uh whenever we ship that feature,
uh Nitra asks, does frustum culling depend on the size of the object's bounding box?
All culling depends on the size of the object's bounding box.
And most simple terms.
Uh
uh I'll answer Rieden's question
if a VR company approaches you to implement them, would that be better?
Uh Yes, actually that would be better.
Um But specifically for the Somnium VR one.
I mean, I'm,
I do have contact with uh their CEO um
and I'm sure we could probably work something out.
I kind of want one anyways just for development purposes.
Um OK. So we are actually right
against time at this point.
Uh Thank you everyone for jumping in here,
apologies for the slight disruption and also apologies for the delay lately
to uh for the delays around office hours as of late.
I've been incredibly busy.
Um We'll do this again hopefully in two weeks.
Uh Please remember to go through and check the schedule to
go through and know when we're gonna be doing these.
Um and, uh, hey,
always feel free to provide feedback on the timing and stuff like that so we can get,
uh, these, uh, dialed in
anyways. Thanks everyone. Bye.