We'll give everyone a little bit of time and I'll send out the office hours ping.
Uh
Just let everyone just kind of start to migrate in.
All right, we'll give everyone just a couple more minutes and we'll get rolling.
Ok? I guess we'll go ahead and get started.
Um All right. So welcome everyone to my office hours for today. Uh There's a few um,
housekeeping things to get through.
Uh Before I start answering questions,
looks like it's gonna be a light crowd this time around.
Um So let's just get right in.
So, uh first got a note on upcoming bug fixes.
Uh Pretty much uh What's going on with that is there's gonna be a bunch of
um various fixes that are gonna be more
targeted at legacy content that hasn't been converted or
could use a little bit of a whack to make them
look a little bit closer to what they once did.
Um This is mostly just for some of the color management related uh stuff that,
that got uh that, that launched as part of the platform.
Um
So expect some stuff around that mostly just kind of
making sure certain values are in the correct color spaces.
Certain textures are being interpreted in the correct color spaces,
things like that.
Uh Definitely a little bit of trial and error um along those lines,
uh just because some of these things, it just doesn't seem to really quite
work as we would expect. Uh but expect some of that to come down the pipeline.
This also includes finally being able to set color uh
space on the uh on the 3D textures as well.
So you'll be able to toggle those uh back and forth
uh for whatever specific needs that you have.
Uh That one has been kind of like caught up in the pipeline a little bit
largely just due to
everyone being busy with a bunch of other things including myself.
Uh But hopefully we can get that one unstuck and shipped soon.
Uh So we'll, we'll try to get that out as soon as we can.
Uh
you know, let's swap the update on the format going forward with LVLC.
Uh Live VLC is progressing uh not as fast as I'd like.
I kind of had to jump on to another project. Um
That will hopefully have just general benefits for
anyone who uses the platform. Um
Hopefully we'll have more details to share on that one soon.
Um
But um yeah, I had to kind of jump uh jump projects there for a bit.
Um That one that works wrapping up.
Uh But for Lib VLC uh pretty much here's what we're looking at.
Um We should in theory be able to support HDR videos.
Now, uh we can actually have a tone mapper
uh for some of this stuff because it seems
that the VLC uh where we're using it directly,
it really likes to
do all the videos in linear space, which is completely wrong.
Um So we're just gonna go to render that into a texture
and then just set up a tone mapper uh that can be uh adjusted uh on a per video basis.
So you'll be able to uh do some of that stuff.
So if you have like an AC R video,
you can go through and make sure it's in the correct color space.
It's not HDR, then you just set it to SR GB and be done with it,
uh et cetera um
doing a little bit more decent testing.
Uh Things seem to actually be pretty darn good.
Uh Or at least I haven't really been able to get it to really
demonstrate any problems uh so far.
So yeah, uh still working through some, some issues on that one, but it's,
we're making progress on that.
Um
And then an update on the format going forward.
Uh This is more just something we're gonna try,
we'll see if it really works uh For next time.
Uh We were gonna do it this time, but BLC kind of
threw a lot of things off uh to really get this all set up.
But the idea is to go through and um
experiment with streaming office hours um into youtube.
Um We're, we're not gonna do it on the main Twitch stream.
Uh Just because, you know,
there can be a lot of things that happen on the Twitch stream
that we don't really want to disrupt.
Um But like going through and just doing like an enrolled
stream or something like that to youtube answering questions obviously from
uh this uh chat and uh the youtube chat as well.
So, uh we'll see how that works out.
Maybe it's something we do just the one time and that's it
because it's awful or maybe it just becomes the format moving forward.
We'll see what happens there.
OK? Now,
looks like we got a few questions here.
Um
I'm gonna start from the top. Um
Stella asks, I saw Frooks made, made a github
issue for possibly upgrading to a newer minor version of unity.
He has, he stated that there are a few issues this could fix.
Could you expand on what issues upgrading unity would fix?
Uh We did identify some internal unity, Janke
going on with the RT O stuff. Um
We think that the RT O stuff isn't necessarily the thing that's broken.
We think it's actually something inside of unity that's broken,
um which would not be the first time this has ever happened to be completely clear.
Um But it does at least go through and eliminate one potential cause here.
Uh Now I'm going to go through and kind of preface
any sort of upgrade because I actually attempted to do this prior to launch.
Um And there were a few issues that were encountered,
uh, nobly bloom, um, kind of broke in some really, really bad ways.
Um, whenever we attempted this upgrade last time.
Uh, but nonetheless, that's something that we can probably fix.
So I will go ahead and uh try to get this one on my plate.
Uh As soon as I get a little bit more progress in
on the 3d texture stuff and some of the color management fixes.
Um
And uh
you know, we'll, we'll, we'll see what comes of it.
Uh But off the top of my head, that's like the main thing um that,
that we're worrying that we're worried about is just
trying to get the RT O bug uh fixed.
Uh
Let's see, specs asks,
um I don't know anything about the material property blocks,
but they seem potentially useful for making efficient reuse of materials.
What's the elevator pitch for material blocks? And do you have any good use cases?
I might keep in mind for them.
Are they a concept outside of Fruits Engine that,
that I may be able to learn elsewhere?
Uh Well,
so the basic premise behind material property blocks
is to more leverage GP U instancing.
So like,
let's say you have a lot of the same exact object with the same exact material.
Uh You can actually use a material property block to
go through in very certain properties of that material.
So for example, the albedo color,
uh maybe not necessarily the albedo texture,
but like the color that you tint an object against.
Uh same can apply for metallic and specular values and things like that.
Um It's just so you can have a little bit more variation
uh If you have a ton of the same object
um
with um just, you know,
using as few draw calls as you draw calls as humanly possible.
Um This is really going to be more useful for like scenes where you're very GP U bound.
Um So keep that in mind,
but there isn't really an intrinsic uh
disadvantage to using material property blocks.
Uh It is a general unity thing that you can look up
uh whenever we move over to sauce, we'll have something similar.
But uh you can, you, it, it,
it should generally be applicable uh moving into the future.
Uh Let's see here,
Cayden
asks my favorite question about custom shader.
Um Do you have any ideas or plans yet for adding support for custom
shader to resonate with the work on the new rendering engine more specifically?
What would you say? Sounds more likely at the moment,
one support for an existing shader language. If so which one
to a custom language?
Uh more specific to the engine three,
possibly a node based shader system similar to what's
currently present in blender for something else entirely.
Uh So, yes, custom shader are coming.
Um And it's gonna be uh it's gonna be number three there most likely.
Um
And it's also gonna be implemented on top of proto flux.
A lot of that just kind of comes down to, we have
a lot of mechanisms in place for proto flex that are actually
kind of useful for processing shader graphs and stuff like that.
Um Particularly, you know, making sure that, oh yeah,
you didn't go through and create an infinite loop that's going to just crash,
everyone's GP U drivers,
uh things like that.
So that's pretty much the direction that we're going with that sort of thing.
Um
It is gonna be a part of the new rendering engine.
Uh There isn't this, this isn't really rumor mill stuff. It's a thing that is coming
um As far as when you can expect the new rendering engine
still at about a year out.
So we'll try to get things sped up where we can,
but that's where we're at right now in terms of
uh shader support and when to expect it to land.
Uh Let's see. Shadow panther asks when you say HDR support.
Uh You said about lead the LC is the rendering to screen slash
headset in any way HDR right now or would that come with sauce?
So that's a really fun one in terms of how,
um in terms of how this stuff works.
So
technically,
um we are using an HDR rendering pipeline.
However, what gets presented to your display is not necessarily HDR.
Now, most headsets
aside from I think like
two, maybe three on the market
do not support HDR.
Um
What you're getting is very much AAA uh
standard dynamic range um image that's being outputted into your headset.
Uh I think PSVR two supports HDR, which we don't really officially support PSVR two.
I, to my knowledge,
the guy is working on the driver still trying to work out a few kinks with that one.
Um And uh I think it's mostly just V
like one var
headset, maybe two
uh that support HDR as well.
Uh I can't really think of too many off the top of my head uh Other than those two,
but they're likely to be quite expensive if you're going to go that route.
Uh
Really what I'm talking about when it comes down to HDR is more
HDR content being tone mapped to actually display correctly on your headset.
So if you have like say an HDR video, like an HDR movie or something like that,
uh we can correctly decode it.
Uh and then uh apply a tone mapper to it
to make sure it looks close to the source material.
If you were just to watch it on your TV or something like that.
That's really what, that's more uh targeted at.
Um
That's, that's, that's what I mean by HDR.
And if you have an HDR monitor, it's still gonna be an STR output. Um
Unity's HDR output support
is kind of
crap.
Um It, it's gotten better and more recent versions of unity,
but we're kind of hard locked to 2019 until we make the sauce uh change over.
So, yeah. Um, it's probably gonna wait until sauce is finally shipped
in terms of like having proper HTR output
void Paw asks
every time I look at this notice,
it makes no sense to me explain like I'm
a four fourth year college student in color science.
What is being converted to linear is the
gamma space mentioned the SR GB transfer function?
Well,
I'll try to explain it like you're four instead.
Uh So the notice that you're looking at here
uh which I'm just going to read for the sake of the recording uh this
world has been authored in Gamma Space
and has been automatically converted to linear.
It may look different from the original but should be generally usable.
If you are the author and you find any issues
with this conversion of of the world do not save, only save copies.
As long as the original exists,
we can tweak the conversion process otherwise you
will be responsible to fix it yourself.
So
just kind of explaining what
going from Gamma space to linear means. Um
with computer monitors,
we have these things called color profiles and color spaces and fun.
Things like that.
We've had these things for a very long time. And a lot of the intention is to
optimize the outputted colors uh for human perceptual vision
basically. So how you perceive colors.
Um
and uh this also helps with things like uh
memory bandwidth, uh stuff like that because we can use our bits more efficiently to
display a pixel basically.
Uh what is going on here is uh whenever we go through and go from linear
to
well gamma to linear space,
we have the problem of lights tend to look quite a bit different.
Transparency looks quite a bit different.
A whole long mess of things look
generally pretty different whenever you go between the two
and we do our best to try and convert between gamma space
to linear space.
Um We try to generally make sure that things
look as close as we reasonably can get them
to the source material basically.
And what this dialogue is informing you
of is that we attempted this conversion automatically
due to how our rendering pipeline works. We have to.
Uh so we are informing you the user, this world has been somehow changed.
Um So if there are any problems with it that you notice
um it's probably best to not save over that specific copy of the world,
but rather to save a whole new copy.
So you can go through these problems and sort them out.
It's pretty much what that dialogue means.
Vo Paul,
if you can go through and structure that in it into its own independent question.
Um
Not
related to that specific notice.
Uh I'll circle back to you in a bit.
So I have a couple of other questions to get through.
Yosh
asks, will the LLC update coincide with working on fixing video players for Linux?
I can't remember if the two were put on the same plate and the development side.
Um
Yeah. OK.
So that's a really weird one and it's something I'm keeping an eye on
and trying to figure out if there's like a good quick fix for.
So
the version of
LLC that we're using
and specifically the unity package that we're using
technically does not support Linux.
However, the libraries all seem to be there.
I don't know what the specific blocker on that is uh from the VLC side of things.
Uh I'm, I, I plan on asking them before we
the lib the LC up update.
Um Just like, hey guys, what's actually keeping you guys from supporting Linux
because things are already a little bit broken on that
end and we don't want to break it more.
Um It couldn't have been that we keep
universal media player specifically for Linux support.
Um
Yeah, it's not gonna really be ideal
but at the very least,
um it's going to be something that
you know, it's, it's gonna be something that uh you can, uh that,
that you can at least play a video with.
So we'll, we'll figure it out.
I'd really rather we didn't continue using universal media player. It is
old and de
and no longer in support.
But if we have to, for a little bit just to make sure Linux, uh just,
just to fix video players on Linux, uh
then we will.
Um but hopefully, I'll have more information about that sooner rather than later.
Uh We did pay for the unity VLC uh package.
Um So I believe that gets us some amount of support directly from the developers.
OK.
Ozy asks,
usually the D sync with VLC videos comes from
session or host performance suddenly dropping and coming back
though. It actually does it too.
Of course, example, someone join, join the session, loading a complex avatar,
unpacking pro flux, etcetera.
Have you tested the syncing with some performance loss? If not? That's fine.
Just curious because that was a major annoyance.
I've done a little bit of light testing with this
and once I have a bill that's just generally better.
Um or like one that's a little bit more complete.
Um I'll definitely be grabbing some people to
pile on to a session to see how far we can get it to, to D sync.
Um But definitely some more testing can be done here on this front.
All right. That's all the questions for now.
Let's I see. Void, void, pause, typing one out uh
for anyone who's never been to one of these before. Welcome.
Um I know that we kind of bumped a little bit in attendance uh as it's went on.
Uh These are kind of like the office hours
for rendering maybe a little bit of some light business
related questions since I also work on that end of things.
Feel free to post them in the chat.
Ozie asks with the new LVLC thing.
Does it do that horrible stutter as video loads for the first time?
Unfortunately. Yeah, that's still in there.
Um It's probably something in the way
we're downloading assets that's causing that stutter.
I'd have to look into it.
Shadow panther asks, where are you tinkering with currently? Besides the VLC?
Uh as of late,
I was working on proxy support.
That was the other thing that I that I mentioned at the start of the office hours.
Uh So like just general http HCTPS proxy support
uh turns out that we have a couple of people who have uh behind the firewall use cases
that necessitate that.
So trying to get everything set up for that and wired up for that,
um
I have been looking at
uh potentially extending the rendering pipeline,
uh a bit of the existing one to be more GLTF compliant.
Uh some really good extensions there,
not all of them would really be trivial to implement in unity.
But given that one of the goals that I have for
sauce is to make that GLTF compliant from a visual standpoint.
Um I think it does make sense to start moving in that direction more generally.
So I'm also just kind of figuring out what we would have to
do under the current deferred rendering pipeline uh for that sort of thing.
Um
There's a good few things on my plate.
Um Those are just kind of like the highlights though
at the G
and asks what causes the horrible static noise when a video player starts?
Sometimes,
you know, I'm not 100% sure.
I think that's probably Steam audio freaking out for some reason. I know recently
me and a few people, we, we, we've,
we've experienced where we've experienced a bug where sometimes
and I think it may just be a really weird universal media player uh bug
where the audio buffer just kind of gets overflowed and you hear this loud crackle
and then audio just stops working and every now and then we'll come back,
don't know what causes that.
Um I'm guessing it's just something in Steam audio somewhere
that's really unhappy with how we're handling video players.
OK.
Void Paw asks there was an automatic conversion of
some color somewhere from gamma space to linear space.
Gamma space is a broad term that people
conflate with all kinds of different transfer functions,
but most commonly with the piece wise, Sr GB transfer function.
I'm curious which gamma space this is referring to and
what colors this conversion is applied to light colors,
post processing tint colors and shader,
the actual textures in the room.
I'm just going to give you a very broad.
Yes, because it touches literally all those things. Um
and the SR GB uh transfer function
is pretty much what we expect because that's what most people are using
anyways on their monitors or some variant thereof or something close to.
I know it's not exactly 1 to 1 with every single monitor use case,
but generally 2.2 is considered a good enough approximation
of the SR GB piece wise gamma curve.
Um And otherwise you're using SR GB anyways.
So
yeah, pretty much everything gets touched every last little thing.
Some things get kept in linear
where it makes sense, other things uh all get uh yielded over to S RTB.
And we do have some automatic processes for like things like light and tense
and so on
that uh can go through remap some of those as
well for situations where they go over certain intensity values.
And no,
I'm not giving you an exhaustive list of those because
I don't have it in front of me right now.
Maybe we'll document it somewhere once we actually
have the wiki together and all that stuff.
O he ask anything in particular you're looking forward forward to mess with.
I imagine messing with unity Jank and all that isn't the most fun.
Uh, well, no, it's not the most fun.
Um, especially whenever we're kind of stuck on a version of unity for
the rest of the lifetime of us being on unity.
Um, sauce is something that whenever I have more time right now, uh,
there's a big time constraint on that one.
whenever I have more time I definitely want to go through and
start experimenting with uh some, some different uh tooling stuff for that,
particularly for shader and all that cool stuff.
Um
We, we'll, we, we'll see, we'll see what comes of all that stuff. Um Before release.
Uh Definitely want to get that one into a good Shipp
open source state.
So people can just start tinkering with it,
uh adding their own improvements with it,
he even building their own applications on top of it.
Um So yeah, uh general open XR support is also one thing I really,
really want to do because everyone's just
moving over to open XR and shipping extensions
part of Open XR uh across the board.
So, you know,
something that I really want, I really want to mess with
also just generally better shadow rendering, light mapping, stuff like that.
The better shadow rendering and light mapping
are things we can actually probably do today
without going through and really delving
terribly deep into unity's rendering pipeline.
Uh The main thing is just going to be making sure
that we have like light probes set up as well,
which is probably the very first step to doing that.
Um But that's also not the most difficult thing in the world to,
to do on top of the existing unity stuff.
Um I've been able to do it before. So,
uh and uh Stella posted an image uh
with regards to how intensity is handled differently.
Um And generally, that is probably one of the better images to go through and
demonstrate the difference between gamma and linear space.
It's really better to think about this visually
rather than like the actual math behind it
is generally what I'll recommend to people.
Uh I can explain the math uh till the cows come home.
Uh But generally, I I find that people find it way easier just to see a picture.
That's definitely one of the better ones
just to kind of actually correct Floyd Paul on this one.
The conversion should change the look that much.
That image is very representative of what you should expect going from gamma
space to linear space uh when it comes down to 3D rendering.
Uh whenever we use these terms,
it's literally just to simplify,
hey, there's a lot of math that's going to change.
Uh just in terms of the visual output,
the math doesn't actually change.
But due to how your monitors
color spaces work
and how 3D rendering worked for a very long time,
um It's going to look different,
it's going to look substantially different in most cases.
So yes, that is an expected uh visual difference there.
Feel free, feel free to Google it. Um
lots and lots of resources out there that,
that do go into the very specific mechanics around this hell.
Um
Forget whose blog it was, I think it was on self shadow or something like that
where they even explain,
you know, what a uh
you know, they even try to kind of build a hypothetical linear linear space camera.
Um and
go into details as far as why we don't just
store everything in linear space and all that fun stuff.
We're basically having to correct for the fact
that content was authored in one color space.
But our math actually works in a completely different color space.
Hence the difference between gamma space and linear space.
All right, I
guess we're just waiting for more questions. Who knows?
Maybe we'll be able to wrap early.
I'm kidding. We're not actually going to wrap early.
We'll just sit here for approximately 30 minutes in silence.
If we have to shadow panther asks. Did you go to BLFC? Was it fun stories to share?
I unfortunately did not go to BLFC.
Uh My day of travel, I ended up a bit ill, so I decided to call it off.
Uh You know, generally I try not to be a patient zero at any sort of event.
Uh So, rather than do that I said, yeah, you know, I, I I'm just gonna cancel my flight.
I can get my money back. It's no big deal.
So instead I stayed at home working
and then asked, can I tell a joke to break the silence?
No.
W Paul asks which youtube channel was it? You mentioned? I missed it.
Uh The official resonate one.
It's, it's, I think it's somewhere
in the
getting started. Links. Let me just look. Yeah, it's right there.
Um
Yeah, that's the one we're looking at going through and
kind of changing up the formula and just streaming some of these office hours too.
As I said, we'll see how well it goes
and if it's something that, you know, we really want to keep,
um
it may just last one stream, it may end up just being a thing that we regularly,
regularly do,
but we'll see, we'll see what happens.
Oz asks you mentioned improving shadow maps and such and such.
How would you go about that? What could be improved?
Oh boy, that's a fun one.
OK. So unity shadow map rendering has always been a little bit busted like since
as far back as I can remember going all the way back
to like the unity two days when they first added it.
Um
So
there's a couple things. Uh first is the filtering kind of just sucks overall. Um
I'm sure we've all been there when it comes down to, you know,
especially point lights going through and
turning up the resolution and then finding
that they look really crusty even if you go
through and switch them over to soft shadows.
Um,
and some of that, and,
and another problem that we tend to see as a part of the filtering problem
is, uh, we do get shadow acne quite a bit in a lot of places.
You, you have two controls that you can tweak and change
to try and fix this.
Uh You have the normal shadow bias, which kind of insets the,
the the mesh a little bit whenever we render the shadow map
that can help a little bit. Um It looks like
the default that we're using for unity may be a little bit too aggressive there.
So I definitely need to review that one maybe make it less aggressive,
but it's an option that kind of helps you out a little bit.
And then the other is uh just regular shadow bias or rather offset shadow bias.
In other words, we kind of like
uh add the value that you put in there to kind of offset the shadow bias a little bit.
So you can um have uh shadows that don't have as much acne,
but it creates this weird clipping effect where you
look at uh where the shadow contacts the mesh.
Um
So there have been other attempts throughout history to try and solve this problem.
I believe ESM exponential shadow maps uh they try to uh
go through and solve this by having a sort of fade
uh towards the contact of the shadow in the mesh.
This this technique has its own problems, namely light leakage is a problem.
So whenever you have two objects that are
uh one's including the other and they're both
casting a shadow on into another object,
you'll see like this weird outline of one of the objects.
But there's, but there's been a few different solutions to that one over the years,
I'd be looking to go through and implement some of that.
Um So that we can have just general nicer softer looking shadows.
Another technique is percentage closer, soft shadowing,
um which you can actually do directly inside of unity
uh without too much effort.
Um That one, I can actually give you some concept,
some amount of perceptually correct uh soft shadowing.
Um It is expensive,
the higher the sample count though is so I'm a little bit concerned about
uh going for that one and making that some sort of default.
Uh But yeah, there's,
there's we have options on the table to make that to make those shadows look better.
Uh The second side of it is uh one problem with unity
uh that most other engines don't have is unity goes through
and re renders the shadow map each and every single frame.
Now, what some other engines do, notably Unreal um Source two does this
uh where you have a dynamic lighting source two
um a bunch of other engines is they'll
actually do conservative updates to the shadow map.
In other words, what that means is
it'll only go through and update the shadow map if
something within range of the light source has changed.
Um Or if uh so an attribute of the light source such as its position
has changed.
Um So that would be a pretty good uh win in terms of optimizations, foreshadows.
Uh just generally
uh having like sort of pseudos
static shadow maps that only really change whenever
either the position of the light source,
uh the transform of the light source changes or
if something within range of the light source changes.
So there are some
uh
two pretty good two pretty good wins there.
Um And actually gets us a little bit closer to
uh static lighting as a whole or at least having
pseudos
static lighting uh when it comes down to this stuff, uh Who knows,
maybe we'll even go through and have just like
baked in shadow maps or something like that,
that we just kind of cash uh at all times.
Uh Perhaps something similar like shadow Atlas Inc or something or,
or,
or similarly modern technique
neon asks,
will it eventually be feasible to bake lighting
and light maps onto existing materials either with
or without the use of blender as because
it's tedious to bake it in blender beforehand,
it would be nice to have the option,
like how we bake light probes currently.
Yes. Actually, that is something I do want to, to put some work into.
Um,
so in a past life, I actually worked on light mappers,
um, a long time ago, uh, back whenever light mapping in unity was kind of crap.
Um
So
I do want to go through and build something into
resonate to kind of do this stuff for you.
Um I'm currently evaluating a few different options right now.
I've been looking at a lot into spherical Gaussian.
Um and how those have evolved more recently,
it does look like there are a couple of potential,
not great things about spherical Gaussian right now.
Um So I'm currently considering whether or not that's
gonna be the right technique for the job.
But the basic premise would be
um we just go through and we propagate
every surface uh inside the scene uh with kind of like a per
tel uh textile being kind of like a pixel of a texture
um
like per textual like probe, so to speak.
And we just kind of bake those out for like ambient lighting and stuff like that.
Uh And then we can like use like static shadow mapping for the rest of it.
Um So yeah, that's, that's kind of one direction I'm looking at right now.
Um The reason why I'd go for this instead of just,
just a straight up uh ray tracer or path tracer for shadows
it or well, for static lighting is largely just performance.
Uh you can go through and do a lot more conservative update,
conservative updates using something like a light probe system.
Uh The main thing is just making sure you have the right quality uh where,
where it's compared to a ground truth for uh
for your light probes for that sort of thing.
Uh That being said I have considered
going through and making light mapping something that
you can just slot in on existing PBS uh on an existing PBS materials.
If you bake them a certain way inside a blender
and just maybe hooking a blender for that sort of thing.
But we'll see what happens. This is still very much a work in progress subject. Why
I asks how does transparency work and why is it called alpha?
So transparency?
That's always a really fun fun one when it comes down to computer graphics.
Uh mostly because it sucks.
So pretty much.
Uh Here's kind of like how it works whenever we have a transparent surface.
Rather when we have multiple transparent surfaces,
we always render those back to front.
Now, what does that mean? Uh what that means is
for every face, we have a list of these faces that we need to render
um every last material basically.
And then we sort these to be whichever is the furthest away gets rendered first
and so on up until we get to the closest one.
The reason why we call alpha that just refers to
the specific channel uh inside of a texture that we utilize
uh to actually determine transparency for these objects.
So alpha channel,
a lot of people tend to refer to transparency as alpha or alpha transparency.
And uh that's pretty much what it is when it comes down to alpha
or transparency.
Also just a quick clarifications for us how shadows are currently filtered
because I see a little bit of discussion in the chat there.
They're not really,
they're not really filtered
like
the same way that other textures are.
It's really weird. Uh So we use something called PC F uh sampling for shadows.
It is a filtering technique,
it's called it's called a percentage clo closer filtering.
Um
And it's a hardware feature that pretty much every GP U for
a very long time has
it's what makes them look a little bit blurry basically or gives
them that sort of bilinear sort of uh look to them.
But yeah,
they kind of suck though.
Voya
asks,
do you know of any renderers out there that simulate the
physics of light down to being able to replicate diffraction patterns,
not a real time renderer, of course,
but something that correctly replicates uh the double the double slit experiment.
Yes,
just about any path tracer that uses metropolis light transport or some similar uh
method of light transport.
There's a few of them out there, metropolis,
light transport is just one of the ones that you'll find most commonly,
a lot of path tracers that you find in most commercially
available software is probably gonna be using something like MLT.
Uh, but there's others out there.
All right. Got 15 minutes left.
We'll probably call and get around, uh, around 420 just so we can
just move on.
Kayley asks. Do you think lit ms dfs could be exposed for decals or similar?
Um
Yeah, that wouldn't be too much of a problem.
I don't think it's really just a shader for that sort of thing.
Yeah, I could look into that.
Uh make a github
for it though. Um
We generally try not to take future requests and whatnot um uh
through office hours or any sort of like form of communication other than
github.
I know valves done it
and a couple of others have done it as well. So,
yeah, it
shouldn't be too hard. The math is pretty easy for MS dfs as a, as a mask. Specs asks.
I've heard a lot of folks
uh talk about features they would like in an
eventual new tune slash non photo realistic renderer.
What features would you be most excited to implement though?
Uh Well, kind of just, just again tapping on the sign for
github.
If you have any features you would like to see in a tune shaker, please file a github.
Um
because that's going to inform me as to
what people want whenever it finally comes time to
replace Zixi,
uh which is a thing we are going to be doing.
Uh, but generally
outlines have always been a bit of a pain point for a lot of tune shader.
Uh you can go like in a lot of just kind of comes down to
uh being able to accommodate different kinds of styles.
A lot of tune shader are honestly
very purpose built for the specific uh game that they're,
that they're going to be in or, you know, movie or what have you.
Um
So having a good generic solution to that
is
oftentimes absurdly difficult.
I have a few ideas uh that shouldn't be too horrible on performance and
we're probably gonna bake out a bunch of variants for them as well.
Uh So for, for example, having a more Fornell based outline solution,
if you want uh more of like a sort of hard broiled
rotoscoping sort of look to things, uh or you can have
sort of the geometric outlines that we have today or you
can have a combination of both if you want to,
you know,
just kind of tweak and tune things not to
mention with like outline maps and stuff like that.
Uh Some other stuff as well that I thought about here and there is
just being able to tweak and better tweak and tune the shadow ramps on,
on these things as well.
Uh that's always been a really interesting one that I've experimented
with across a ton of different renders over the holy crap.
Uh
seems like tune shading is always something that I eventually come
back to um probably will for the remainder of my career.
Uh But like, for example, in unreal,
I've actually set up a system by which you can
apply a shading ramp to on a per light basis,
which actually gives the artist more control over how light
could attenuate on a surface for a specific scene.
Uh And doing cool stuff like that, I think would just generally
be pretty awesome for a lot of this stuff. Um
But yeah, I have a few ideas
and how to make tune shading like way way better than it is right now.
Um
And with some of the stuff I'm looking at for
making the existing render a little bit more gltf compliant,
we may even be able to inject some of that into the deferred render as well,
which also means
you get to have as many light sources as you can throw
at a tune shaded object.
Um But we'll see how that,
how that pans out. I do have a few performance concerns around that one.
Uh Just because we are doing some things that,
you know,
you usually shouldn't do in the unity renderer to achieve that,
but
it's a possibility.
Um I just need to have a better grasp on
what people want when it comes down to tune shading,
uh, and once again, file a github.
If you have any specific feature that you want for the tune, for the tune shader,
now's the perfect time to do it because eventually I'm gonna have to work on this.
Uh,
I apologize if I butcher your name.
Uh, but June
Sekai
asks, is there currently a way to do something like blenders,
her particle system or something like it in resonate at
present?
Not really.
Um
I mean, there's not a great way to do it.
You could use some of our procedural measures, I guess to do something like that.
It's probably not gonna look very good though.
Uh It's also not going to be very performant. So, no, not really.
A
da
asks,
how would the custom share system work with the new
rendering engine or is it too early to really say?
Uh I mean, it's, we, we have a pretty clear plan for that.
It's pretty much just gonna be a subset of proto flock. Uh
You can build your shader and world collaborative,
collaboratively with your friends and all that stuff.
So, you know, that's pretty much what, what's gonna be,
you will have access to the mesh pipeline,
although that's probably gonna be emulated on uh older GP US and certain A MD GP US
just where it makes sense to emulate that stuff.
Um But you will be able to like, you know, emit new geometric primitives um
shift vertices around all that stuff and of course,
be able to do things using uh the final fragment output as well.
So,
and we're gonna cut it here as far as new questions.
Uh So let's see, specs ask what is, what is their problem driving uh
driving the properties of 3000 trajectory procedural
meshes to make a full head of hair
a lot.
Uh Actually how this is done on the GP U is uh like, for example,
with uh NVIDIA hair works is it's all just pretty
much geometry programs and mesh programs for the most part.
Um And they have just like control points that uh those,
those are just kind of trying to follow a lot of the time.
Um
So that's
if, if you, if we were to support this and make this a first party thing,
we'd probably end up doing something like that.
Um However, with custom shader, we don't have to,
you can
as soon as we have them
void Paw asks, learning about iridescence,
I found that it has a lot of dependence on the spectral distribution of light.
What white light having all the wavelengths of
light makes iridescence look one way while fluorescent bulb
light which has peaks at different specific wavelengths
make it look entirely different real time renderers.
What are the simplifications assumptions made
to make convincing iridescence?
How would a magenta light having red and blue wavelengths interact with a real time?
Renderer simplified iridescent shader.
So uh Chronos actually has put together
a pretty good algorithm for handling iridescence.
One that you can actually prec calculate into look up textures.
Uh pretty much instead of just trying to shade this all like per pixel,
you can just go through and throw it into a look
up texture and then just reference the look up texture.
Uh We would probably end up doing something similar
to that and just have it be like a static
uh uh just a stack texture reason why we do it as a static texture rather than one,
you can just provide yourself um that gets a bit heavy in a deferred renderer.
Uh bear in mind we have to work around the constraints around a deferred renderer.
So once we're on unity
um
uh like it just gets heavier,
the more uh things we allow you to customize on a per light basis like that
or rather per surface basis, more, more succinctly but yeah,
or accurately. All right,
since we got about six more minutes, I will allow one more question. If anyone has it,
I'll give, I'll give you guys all of a minute
to come up with one
that is on topic
as a reminder. Business is also a thing I can talk to,
but it better be an easy one because I do have a meeting I have to run to um
at uh in like six minutes. CYO
asks RT X when the answer is wait five years
in all seriousness, uh RT X uh support and stuff like that.
Uh The reason why we're probably not going to jump on that.
Even if sauce did support it
out of the box,
it's literally just a hardware availability problem.
Uh Typically with platforms like these, uh it's a great idea
to support the las and gray features, but
usually you want to make sure the harder availability amongst your user base
is really fully there before you really start to jump into that.
Vod
Paul asked, when will we hear what this head of governance position is about?
Well, I'm pretty sure the person who took that role recently decided to uh
scale back to their previous role.
Um So, you know, hey, uh whenever we have something flushed out,
I guess to talk about,
but also I'm the wrong person to ask for those kinds of questions.
So please keep that in mind.
All right.
So
yeah, things related to moderation isn't exactly related to business. Uh
The specific role you're speaking of is not a
corporate governance role, you're thinking of so much.
Um Corporate governance is something that the business
team generally tends to handle which yes,
I can
speak to at least some of those things.
Um But I would generally recommend waiting until
we have our official business office hours.
So my other colleagues on the business team can also chime in on that
shadow at X asks and this is the last question.
Uh Then I'm wrapping up and
running to another meeting
with the new video playback engine.
Is there a chance that we will be able to play back videos at speeds? Other than one,
I wouldn't rule it out,
but it's definitely not an uh an MVP feature for, for the new uh playback engine.
All right.
Well, that's the last, the last question I'm taking for today.
Uh Thank you everyone for showing up.
Um
More details about the new format that we're gonna be experimenting with. Uh
next, well, not next week but in the next two weeks, let's see here. That will be on the
22nd
of November.
Um that will be forthcoming. Um I'll probably just
put something out there like day of or something like that.
Most likely it's just gonna be me and world talking.
Uh keeping an eye on the youtube chat and this channel as well.
Um
To answer questions and stuff like that.
Same basic premise
only now you get to watch some small bird thing go through and answer your questions.
But yeah,
um the uh I'll go through and shoot off the uh recording of this to prime
so that can be uploaded sooner rather than later.
Hopefully, you guys won't have to wait too long
anyways. Thanks everyone.