Getting the transcript
Reading the captions from YouTube. A video nobody has opened here before takes 10 to 30 seconds; this page fills in on its own.
Getting the transcript
Reading the captions from YouTube. A video nobody has opened here before takes 10 to 30 seconds; this page fills in on its own.

NVIDIA Game Developer · @NVIDIAGameDeveloper
This video has no Most replayed graph yet: YouTube shows one only once a video has enough views. These are the moments viewers replayed most in NVIDIA Game Developer's most watched videos.
Most replayed moment at 27:06
3.8x that video's typical replay level
you know, we're putting up a new data center in, in India, but we have coverage all the Americas, Asia, Africa, Europe, of course, and so you're going to be assured of having a low-latency connection wherever you are or wherever your gamers or your QA engineers may be located.
Said at 26:58
Most replayed moment at 45:16
6.5x that video's typical replay level
from before. It has one bounce of GI and then falls back to sampling the environment map. What we would really want to do here is to have multiple levels of multiple bounces of global illumination, but that would multiply the cost, and that would be prohibited for most games. Instead, with SHARK, we will dispatch a
Said at 45:09
Most replayed moment at 3:44
57.9x that video's typical replay level
reel. >> [music]
Said at 3:37
The graph counts replays. It does not show where viewers stopped watching.
Words
9,289
Runtime
55:22
Speaking pace
168wpm
Reading time
39min
168 words per minute, between the 160 25th percentile and the 181 median of 349 measured videos. That distribution comes from the 349-video hook study.
Opening (first 30 seconds)
Welcome everyone to our state of RTX rendering in UE5 talk today. I'm Evan Hart. I'm a distinguished engineer at Nvidia. I work on things Unreal Engine related and in particular about a branch of Unreal Engine that we released to you guys to show some interesting things and we want to talk to you about that today. I'm here with Richard Cowgill and Kelsey Melelatos who are technical artists evangelists in our team to help people that are more on the art side
84 words, the words spoken in the first 30 seconds at 168 words per minute.
Free, no signup. See how the first 30 seconds hold attention, with rewrites.
Sentence shape
| Measure | This transcript |
|---|---|
| Sentences | 572 |
| Average words per sentence | 16.2 |
| Longest sentence | 104 words |
| Questions asked | 47 |
| Sentences containing a number | 27 |
Most used terms
Filler phrases
578 in total: um 136 · uh 132 · you know 128 · like 93 · sort of 21 · kind of 20 · right? 18 · I mean 17 · basically 6 · actually 5 · literally 2.
A literal whole-word count of the same phrase list the Prepublish browser extension uses, so a phrase inside another word is not counted and a phrase used in its ordinary sense still is. It is a count and not a judgement.
What this transcript is
Every word below is the caption track YouTube publishes for this video, pulled from the video itself and reproduced unchanged. It is not Prepublish's writing, not a summary, and not a re-transcription: it is the video's own published captions. English captions, generated automatically by YouTube, in the video’s original language. Source: the video on YouTube. A channel that would rather this page did not exist can ask for its removal through the contact page, and it is removed.
Welcome everyone to our state of RTX rendering in UE5 talk today. I'm Evan Hart. I'm a distinguished engineer at Nvidia. I work on things Unreal Engine related and in particular about a branch of Unreal Engine that we released to you guys to show some interesting things and we want to talk to you about that today. I'm here with Richard Cowgill and Kelsey Melelatos who are technical artists evangelists in our team to help people that are more on the art side of things and they're going to show you a bunch of pretty stuff and I'm going to talk about some other stuff.
So, with that, this is who we are so you can, you know, decode it that and um this is what happens when the artist when you invite artists as a programmer to your talk, they this is how they see you. So, what we're going to talk about today is we're going to do things a little different. In years past we've kind of deep dove on a feature. This year we want to give you more of a a broad spectrum of things that we've been working on because we just had too many things that we were interested in working on this year.
Um and then we're going to talk a little bit about where we're going this year, where we where we expect to go and what we think is important. Richard's going to dive into a bunch of path trace lighting stuff in the sample lighting section and then Kelsey's going to show you some really interesting path trace hair stuff that we are just getting ready to release in about 2 weeks. So, what is NVR TX? Well, this is a branch of Unreal Engine that we maintain.
And we've used it to do a whole bunch of different demos in the past. You may remember the Zora demo from last CES. Also, there's the bonsai demo that we released publicly so that you could play around with this mega geo technology that we've worked on that allows you to directly ray trace nanite geometry, you know, the full resolution geometry in a BVH. And additionally, you may remember the amusement park from a couple years ago where we said, "Hey, let's let's do thousands of lights." and we were you know, showed that you could do thousands of lights with both GI and with direct illumination.
So, I want to talk to you and give you a little bit of a road map and what our top priorities are. So, our top priorities is first of all keeping pace with the engine. Unreal is a bit of a treadmill. We have to make sure that we're staying up to date with the latest versions such that, you know, if we do a whole bunch of interesting tech and we don't integrate it into up-to-date versions of the engine, it's not going to help you a whole lot.
Um additionally, I've got some high quality hair stuff that we are going to you know, Kelsey's going to show you a whole lot about. I'm going to tell you a little about a little bit about where we're going with substrate support because substrate is an important material change in the engine. Um and then talk about where we're going with mega geometry improvements. Then more sort of speculative things, some translucency effects that we're planning on working on later in the year and also radiance caching and path guiding.
So, what does all this look like on our road map? Well, this is what our treadmill is looks like. Now, don't hold me as a promise to all this stuff because things change and you know, in particular you can see the question mark up there where um you know, I'm saying, "Hey, we expect that we'll be pushing, you know, of you know, update to NVR TX for 5.8 in the early summer." Well, that's obviously dependent on when Epic releases 5.8.
And similar with the end of the year update, you know, we expect there'll probably be a 5.9 update somewhere late in the year because that's generally when Epic does it, but you know, no promises because we don't know for sure when they're going to do that. So, high quality hair. So, this is a path trace hair example. And we have this in kind of phases right now. So, phase one was you know, an efficient primitive for ray traced hair called linear swept spheres that we introduced with Blackwell and it allows us to do a better job of sort of representing hair in a bounding volume hierarchy.
Kelsey's going to talk to you more about this so I'm not going to belabor it. But importantly, it's already been shared with Epic and they actually have taken the pull request into UE5 main. So, I expect this intersection primitive to be there in UE5 main. Now, not all the stuff that she's going to talk about is going to be there in main, but the the intersection primitive is there. Phase two is all about high quality lighting on that primitive so that we can do this sort of path traced lighting within the viewport for the hair.
And finally, phase three refinements. Make it faster, you know, scale it from you know, the highest end to the more the middle range stuff. That's you know, that's where we're going with with phase three. Substrate support. Well, as you guys all know by now, Epic has, you know, pushed out substrate as you know, full production. Um and that's important to our path tracing journey because of the fact that we need to be able to support whatever material nodes that Epic is, you know, supporting.
And it's great because it's going to be better materials, better pixels, etc. Um Phase one is going to ship in March later later this month and that's going to be bundle G buffer support, the the 65th substrate support if you're, you know, familiar with what their recommendations are. Phase two is going to be the more complete support where we, you know, start doing the true layers and the glints and and stuff like that and that'll be, you know, probably later this spring.
Additionally, we're working on evolving mega geo. If you've been watching stuff really closely, you may have noticed that, you know, we we did that Zora demo, we put out this like really high quality support for ray traced geometry, nanite geometry. And it was, you know, all about representing the absolute like ideal quality in the in the BVH. And you know, this has cost to it. It has, you know, both memory costs, CPU costs, etc.
So, we got that out, we ported it to 5.6, we ported it to 5.7, but we really haven't substantially changed it from there. We fixed bugs, but we haven't substantially changed the way in which it was working. We've been receiving feedback from a bunch of partners based on that work. And based on that feedback, we've been kind of, you know, going back and crunching and we've got some data from partners that they're allowing us to play with to sort of help us sort of optimize and tune to make it a a more ideal fit for games.
And so, that work is happening right now. And with that refactoring, once once that's done, we're going to, you know, expect to roll that back to the the main NVR TX branch later this year, probably late summer. Additionally, we're looking at kind of filling in some things. So, translucent path tracing effects. By this I mean, today we support our full sort of, you know, complex lighting stuff in reflections perfectly well, but we don't do path tracing on the translucent reflections so that you get the nice GI components of multi-bounce path tracing on those.
And we want to add that to things like single layer water and top layer translucency basically. And finally, you know, the more experimental stuff. We're looking at radiance caching and path guiding. Now, what I mean by radiance caching is that we've had some partners come to us and say, "Hey, there's some more irregular geometry that lumen surface cards don't map well to." because we use the lumen surface cards as our radiance cache because we don't have to duplicate radiance cache works by doing that.
But because they've seen cases where the cards don't match up well, we've got some stuff for more irregular sort of geometrics sort of layouts that uh we think works better. We know that this works. It's just a question of like what is the bang for buck here? You know, how valuable is it? And once we work that out, I I could I see us probably integrating that later this year. And finally, path guiding is all about emissive surfaces and specifically sort of fine geometric emissive surfaces and particularly in sort of shiny environments.
As you know from like looking at lumen with emissive surfaces, you can sometimes get a bit boil depending on like the size of the surface and things like that. And the same applies to our path tracing solution as well because it can be hard to find that surface and with path guiding we'll be able to find the surfaces better and therefore we'll be able to produce a more stable image for you and a higher quality image.
So, with that I would like to hand it over to Richard to talk to you about lighting. Yeah. >> [applause] >> Thank you, Evan. >> [laughter] >> Well, cool. Thank you all for being here today. Um yeah, I'm going to talk about sample lighting. Actually, try not to talk about it too much. I want to show you a bunch of pretty pictures, I hope, video. Um some interesting samples and test cases. Uh so, let's get started on that.
Sample lighting is also sometimes known as RTXDI, dynamic illumination. You'll see that a lot in um you know, the project settings which I'll step through. So, this is the bonsai scene that we released late last year. And it's it's kind of an everything scene. You you can see it's it makes use of sample lighting RTX mega geometry, DLSS. Ray reconstruction is a big part of anything to do with real-time path tracing. It's a it's an important component because you know, when you when you're sampling the scene, you're shooting sparse rays basically at stuff and you're um so you have that sort of limited information.
Ray reconstruction does a a great job of taking that limited information and and you know, reconstructing the scene into something coherent. Uh so, you can see uh there's all kinds of neat effects going on here. We're doing the of fun path tracing type stuff. Um, there's uh translucent shadows from the sun catchers. Uh, that's one of the features of the branch you can see right there. Um, and then uh we we added in uh uh full path traced mirrors because you know, we have the capability to do that.
It was just a a fun little add-in. Um, but you can see that when it gets to the mirror shot everything is represented that mirror like all the mega geometry, all of the indirect lighting. It's it's represented one-to-one. Oh, and just to point out this is uh a demo scene that you can download. I mean, it's a uh project files, but it's all there's also a build so you can just run it. Uh, but we like to give out project source as much as possible whenever we do something like this because we want you to take what we've learned and dissect it and understand it like like we learned from it.
This is one of the uh uh new features in 5.7 um, that we have which is uh uh volumetric uh shadows that basically cooperate with sample lighting. So, here I've got a volumetric spotlight. And you can see what happens there as I move it through a translucent surface. Not only do I get the colored shadow on the surface behind it, but it's also picking up the color and modifying the color of the the volumetric. And here's another angle of the same thing.
It's a very straightforward feature. This is in the branch, this is on by default. So, yeah, if you want to get rid of it, you have to find the CVar to uh turn it off. Okay, these are my most boring slides, I promise. Um, this is how you set it up. So, if you want to use sample lighting in our branch, um first things first you uh uh in your project settings, you just go to uh uh you know, the search field and you can type RTXDI or uh ray tracing and you'll come up with various options.
You want to make sure hardware ray tracing is turned on and then find the RTXDI enable setting uh which is right here and just enable that. Everything else is optional. It's kind of how you want to use it. Um, and then past that uh you can enable it at a project level much like you do with Lumen. Like you you know, you or you can use the post process volume. We give you uh an extra flag right here. So, you just turn that on and you'll literally switch from Lumen to path tracing with just a button click.
I do want to point out that uh when you enable it you know, it'll prompt for a restart and so forth. Uh uh it'll also want the NR D plugin enabled. Uh that's the default denoiser for sample lighting. Um, but in all the examples I have here including the bonsai and everything, we're using ray reconstruction. So, um it's just it provides a better look and if you're trying to do uh full path traced mirrors, NR D isn't really at least in the current version in Unreal, it's not really equipped to do that.
You want to use ray reconstruction for the best possible look there. And then over here on the far side, well, in the post process volume, we have some fine tuning controls. We try to give you you know, what we think are the most relevant controls for fine tuning um, how you set it up. Uh, there's many more CVars um but if you just want to adjust probably what are probably the most important settings, they're right here and um the reason why I have this particular panel up this way is because uh these all these top settings here under general and uh direct illumination, all this whole area um, the you'll notice the values have been um either left at default or reduced from their default.
Like the numbers are taken down or the toggles are taken off. And that's because ray reconstruction uh does a pretty good job of filling in the information on its own to the point where sometimes you can get away with less sampling. You don't need to use so much RTXDI basically. Um, now this is going to depend on the scene, it's going to depend on the content, but everything I'm showing you including the bonsai the bonsai scene was set up in this way because we default to ray reconstruction.
Like I said, it provides that really good look. Uh uh very high quality, very sharp. And that allows you to get a little bit of a speed up in your scenes by toggling some of these features either off or down. And this is by no means I'm not trying to present the the gospel here on like what you need to do. It's just understand you can play with these numbers and probably tune them down if you're using RR. Right below it under re-ster GI uh you'll notice the the bounce count is set to two by default.
I've upped it to three and then I've turned sample Lumen off. That sample Lumen is short for uh Lumen GI cards in this case. So, this these options is kind of like your mileage will vary. How many bounces do you want to do? Um, obviously increasing bounce counts will uh cost more performance. So, I'm sort of you know saving some performance by making these lower and then maybe increasing performance by toggling these a little bit or I mean reducing performance.
But um it's it's it's an interesting uh set of options. Sample Lumen with that toggled off you uh uh you you forego using Lumen GI cards um, in your path tracing. What that means is you might lose a little bit of per a little bit of performance. Um, uh uh but it will at the same time it'll kind of take the brakes off with path tracing. Um uh uh GI bounces are limited to two uh with the sample Lumen on. If you if you want more bounces, take that off and it'll increase the number of GI bounces you have in the scene. >> [snorts] >> Sample lighting, indirect lighting uh operates in two modes.
There's indirect mode one and indirect mode two. Uh by default um indirect indirect mode one is the default. So, um what that gives you is gives you path traced global illumination and rough reflections. Your low value reflections that 0.4 is like the default for roughness in Lumen. So ev- everything below that 0.4 will use Lumen reflections, everything above it will be path traced reflections. Um, but if you want full path tracing that's mode two.
We call it, you know, re-ster PT is another name it goes by. Um, and so when you set that well, you'll you'll gain the ability to all your roughness values zero to one will be fully path traced. I'll show you literally what that looks like. So it's a very simple scene, but you can see uh we're looking at a an environment with a lot of global illumination and some emissive lighting. And that's all handled by sample lighting, but the there's a mirror right next to us here and you can see that the the mirror reflection is han- being handled by Lumen in mode one.
There's even like the screen space reflection is in there, right? But switching to mode two that mirror becomes uh fully path traced. It'll look remarkably a lot like direct rendering. You you know, anything that's ray traced in the world will appear in that mirror almost one-to-one. You know, I'd have a hard time uh telling like you know what's real and what's reflected. I'll give you some sample lighting off and on comparison.
So, here we're off and you can see this is default Lumen, right? Like at the the values on the sidebar there in the post process volume so you can see what what was used. Um, and in a moment I'll toggle on sample lighting with that post process flag, but you can see what you know, this is kind of a a low light environment um, but you you know, uh Lumen by default has a has a hard time picking up those surfaces either because they're too small, too thin.
But RTXDI even without the path guiding feature that Evan was talking about does a a reasonably good job of picking up uh you know, small thin meshes. You can even see it's interacting well with the normal map on the floor. You know, all your little specular highlights and everything. You see this uh this is just an emissive mesh. You know, becomes fully occluded when you want it to be. It it operates in a very physically accurate manner.
Same environment, but a a slightly different test case. Uh so, here we have a portion of the environment where there's no actor lights touching it, right? So, we have that that emissive panel back there. That's just a material and we're looking at at this in you know, sample lighting off and then I turn it on, those shadows, those contact shadows become a lot more present, right? They're they're they're very sharp at the base.
Again, with that off you know, you just have resolution limits. Um, by default it you know, granted with Lumen, of course, you can crank the values way up. You can make more Lumen more expensive to try to compensate for that. But you'll see that with sample lighting the the distance issues go away. Like even when I pull the camera way back, if I just turn that that flag on leave everything at default, it's it's able to pick up those meshes even at a a medium long range.
As long as it's being ray traced, it can see it and it give you a lot of detail even at you know when the pixels get very small. Okay, more interesting test cases. Uh this is a fab scene called Nova Space Burgers. Um and this is how the scene was originally set up. It had dozens of lights in it, rect lights, point lights. Um you know, it's a very Cyberpunk type scene, but it's just it's just just one building. Um but you can see that you know, there were tons of lights placed all over the place for you know, GI fill like originally it was a light map scene, I believe.
Um but the we sort of had the question of what if we because you can you can light the scene somewhat emissively. You still want to include actor lights with sampled lighting. Like I said, path guiding's not there yet. Um but so so here we are sample lighting off with a lot of the the local lights removed. And I'm going to turn on RTX DL lighting. And you see what that does. So it's it starts to treat a lot of those emissive surfaces um like very close to light actors.
Again, not quite there, but very close. Um you know, this corner is is an interesting little test case cuz there's no actor lights back here and we have that one little thin mesh you know, this is glowing. Return that on. Picks up a lot more light. Stabilizes the scene. Yeah, similar case back here. You see a lot of a lot of boiling and um you know, where it's it's just doesn't have the resolution to fully see it. And then you got turning it on. >> [clears throat] >> And all kinds of varying roughness values.
This is an example I really love. This is really cool. This uh uh yeah, you're going to see the the transparent material in the foreground there get picked up in the counter top, right? And it's it's actually casting shadow. There's another example. Uh this is the Paris scene by Scans Factory also on fab. Um and and this one's interesting because it has mega geo or yeah, it has an it was built with Nanite. So we converted it to be path traced with DLSS and mega geo.
Um and uh you know, there's some GI uplift, but the I think the real advantage to putting path tracing on this is in the reflections, the puddles, the windows. They get a lot more uh active and alive. Yeah, so here it is uh default Lumen. Um you can see how you know, the the reflections just aren't it's missing a lot of GI. It's just not very complete. Yeah. Yeah, this is an interesting test case because I mean, you know, it's it it helps to you know, like I said, real-time path tracing it will grab all those varying roughness values, the whole thing is zero to one and give you some type of uh reflection on that surface.
So you and and it will reflect full global illumination. So you know, at its full resolution. So you get um >> [clears throat] >> yeah, quite the uplift in any reflected environment. This is probably kind of the the marquee area of this environment, this this little bistro. Yeah, path path tracing off versus on. You really see it with the the the wood floor just how the light bounces in and you know, it it starts you know, multi bouncing off the ceiling and the walls and everything in a lot more effective way.
Um in this scene too, we can we can path trace a skylight. We're path tracing all light types. So the skylight actor is also set to to uh be sampled. And you can see the benefits of that. Okay. Um so Kelsey's going to get into hair in detail. But I wanted to show a little bit about hair in a path traced environment, right? So path traced hair in a path traced environment so you can see what that's like. Um I'm not aware of this is this is a really interesting topic to us.
I'm not aware of you know, um uh hair looking this detailed and real in a mirror in real time. I don't I don't know if it's been done before. Um uh you know, not my area of research, but I I think the the quality here is really good. It's it's it's come along pretty far. And this environment was set up for uh five path traced bounces so you can see it you know, in the mirror it's bouncing recursively. Yeah, and then I wanted to show hair in you know, with that colored translucent light applied to it so you know, you could you could you could dim the you know, the shadow can be uh dimmed with an alpha texture.
Uh but it can also absorb color and that whole thing. So it's important you know, when we introduce new features like path traced hair, volumetric fog, everything it all needs to work together, right? Okay, that's it for my section. Thank you guys. >> [applause] >> All right. Hi guys. As uh both Evan and Richard alluded to, I'm going to talk about hair. But not just any hair, path traced hair. I'm going to call it hair PT at some cases just to avoid confusion.
So what's path traced hair? It's uh path traced rendering tech for grooms. It's standalone. So it doesn't tie to Lumen, it doesn't tie to sampled lighting or anything like that. It's completely on its own. Um it's focused with primary rays. So you're only going to have path traced hair rendering specifically in primary visibility. So I'm talking global illumination or hair occlusion. Because it's path traced, you get more physically accurate hair lighting.
Like I said, global illumination application to the hair strands um as well as hair occlusion. Um both hair on hair occlusion as well as hair on skin occlusion. In addition, we have linear swept spheres or LSS for short. And again, I'm going to use that interchangeably. And that's a new primitive, a new grooms primitive that helps boost performance by using the RT cores within our Blackwell 50 series GPUs. We know that hair's really expensive.
This really helps offset that. So let's talk about global illumination for a second. In these pictures here, I'm going to focus on hair PT on with sampled lighting direct and indirect. And then disabled it's all three of those disabled. We have in this scene there's a long vertical strip on the side of the wall. And that has an emissive material on it and it's going a nice orange color for example. And as you can see here on the enabled side, we're picking that up with hair PT.
All right, for hair occlusion, I'm going to talk about two different kinds of hair occlusion like I alluded to before. Um we have hair on hair occlusion as well as hair on skin or non-hair occlusion. I don't know if you guys can tell, but we're using meta human assets. I did not create these. I'd love to say I did. In this case, we have two different kinds of groom sets. And yes, I hand drew those lines over there as you can tell probably.
Um so we have the fringe which is in blue. For some of you don't know, fringe is you know, the bangs. And then we have the pulled back bun hair. Two different groom sets. The reason why I'm saying that is because I want you to know that it doesn't matter how many groups groom groups that you have in your assets for you to be able to use hair PT and see that hair occlusion. I'm going to point out exactly what I'm talking about with the hair occlusion, but I want to see if you guys can see it now.
So first hair on hair occlusion, right? At the two points over here, you're going to see it on the front of the bun as well as where the fringe is hitting the pulled back hair on the head. Now for the hair on skin, you'll see it towards where the sideburns are. Okay, so I told you it was in primary visibility. It's like, Kelsey, why are you showing me reflections? >> [laughter] >> It makes no sense. Well, that's because it works with other rendering tech.
Like I said, we're using indirect and direct sampled lighting. So what we've done is we've implemented a way for us to be able to view hair PT within the reflections with raster PT. There's a difference here. So before I was showing you with hair PT on and off, both sides were using hair strands. The reason why I'm not showing you hair strands at the moment on disabled is because Lumen cannot show reflections, at least easily, with either hair cards or hair strands.
I'm using this so you can easily see it, otherwise it might not be really readable. This is some hair in motion if it'll play. Okay, so this is just a physics asset I made really quick. Um, the reason why the top of the hair isn't moving is because she has gel in her hair. Maybe. >> [laughter] >> Um, but I just wanted to show you that it works with physics-based, you know, Niagara systems. You can do whatever you want there.
Just like, I don't know, windswept hair or something. Okay, so before I was showing you, um, sampled lighting direct and indirect and hair PT all together on and off. Now I'm going to show you what it looks like if you have sampled lighting on and off, generally speaking. And we're going to focus on the complex fur. So, in my opinion, you know, when you look at something like a very furry creature here, like the meerkat, which some of you may recognize from, uh, the demo a little while ago, a long while ago time.
Um, there's a lot of fur patterns, and these fur patterns are naturally going to have different types of hair occlusion. We want to be able to pick that up, and hair PT does that. And I will show you, if you look at the sides of the neck, you'll see where the hair patterns come out, as well as with areas like in the armpits, for example. Here's the meerkat in motion, um, and hair PT has been on this entire time. The only thing I have been disabling is sampled lighting, because again, I wanted to show you that it does not matter what rendering technology you use in terms of lighting, you can still use hair PT.
It doesn't matter. As long as you have hardware ray tracing enabled. There. Yeah, and you can see where we get a lot more, um, like underbelly lighting, global illumination, hair on hair occlusion, etc. Okay, so I talked about hair PT, the the rendering of it, the visuals of it. Now, let's talk a little bit about linear swept spheres. What is a linear swept sphere? Try saying that five times fast. LSS, if you look at a curve, for example, like a groom curve.
Picture a cylinder going along that groom curve, and picture that cylinder having, uh, different radii sizes. That's that's layman's terms. In the next slides, I'm going to show you more data. So, this I wanted to show you exactly how I captured that data. Uh, this is my benchmark, it's a still frame. Um, I use stat GPU and as well as stat D3D12 ray tracing to get the information. Again, for those in the back that probably can't really see the bottom that well, you'll be able to get that in the slides.
I'm going to show you three different types of primitives that are available in Unreal Engine. Now, I'm showing you triangle-based because, even though that's commented out, if you're using a binary form of the engine that you got from Epic Games Launcher, for example, um, you're not going to have triangle-based, you're going to use procedural. That is the UE native. If you are using, uh, your own code-based engine, you're capable of turning on the triangle-based for whatever reason you may want.
Um, so I just wanted to make sure that we went through our paces and got the data for all three. In this case, we're using the regime cost of the RTXDI hair strands indirect lighting. Um, this is captured from stat GPU. And, uh, you can clearly see here in in, uh, frame time that we, um, when using linear swept spheres, we improve quite a bit, um, which gives us a lot more, uh, real-time rendering cost for us to put towards something more intensive like hair PT.
Now, let's talk about the build last time, the build time. I heard that well. Um, linear swept spheres will save you a lot of memory footprint, which is huge these days, right? So, this will really help you in real time being able to understand what you can use on memory as well. So, again, when you're using a, uh, Blackwell 50 series GPU, you'll be able to use linear swept spheres in this case, and you will save a lot of, uh, memory usage.
Okay, so if you're interested, for either of these things, because linear swept spheres and hair PT are orthogonal. You can use one or the other, um, but we definitely recommend you use, if you're going to use hair PT especially, definitely use linear swept spheres, it will help improve performance. Hair PT can be used on any hardware ray tracing supported GPU. Um, and it's available within the NVR TX 5.7 code branch that is going to be released as Evan seven couple of weeks.
Linear swept spheres, on the other hand, requires 50 series GPUs, like I said, Blackwell generation, and it's available as part of the mainline UE5 branch now, code, code. Uh, so you pull from GitHub, you'll be able to grab it. Um, and that is also going to be available in NVR TX 5.7 in the next couple of weeks. Big special thanks to everybody that, uh, worked with us to make this happen. Uh, very proud to be part of this team and continue to bring you guys amazing technology and make and see you guys make beautiful things.
Thank [applause] you. Um, before I open it up for questions, um, we have a few barcodes here, not barcodes, but QR codes. You can go ahead and take a look at them. Um, feel free to reach out to us anytime you need anything, please. Um, myself, Richard, Evan, we're all part of the email alias NVR TX support Nvidia. We try our best to be able to respond to you as fast as possible. We want to hear from you. We want to hear your thoughts, feelings, feedback, everything.
So, feel free to reach out to us. Um, yeah, so if anybody has any questions, feel free, there's a microphone here, line up and ask away. Great great talk. >> Yeah. Uh, you guys done a comparison of Epic's new Megalights versus RTXDI in terms of both image quality and performance? I think that one's for you, um, Richard. Megalights? So, was the question about Megalights and how it can be used alongside sampled lighting or Uh, no, I'm I'm wondering on the competitive analysis side of things in terms of both image quality, artifacts, but also on the performance side of things.
Okay, you can answer that one. So, uh, sampled lighting tends to produce a, um, a a bit more detailed result than what Megalights will will produce. Uh, and there is an extra cost for that. Um, so we see it as sort of a higher quality, you know, sort of extra quality option. Um, we have a few things that we're working on that improve its performance, but we don't see it as a I mean, we we find Megalights to be a really great thing, because it allows somebody that is going to, you know, develop for a console to have a fallback to use a, you know, a high number of lights, and then be able to have another option like sampled light, you know, the RTXDI stuff to be able to you know, to do a truly, truly high-end sort of solution, uh, for people that want to have a, you know, great GPU.
Good job. Thank you. Yep. Uh, thanks for the talk. Uh, can you share some data about, uh, how many hair strands were were used for the curly hair model as well as the meerkat? Yeah, um, so the meerkat, actually, Richard would have to answer that one, because he's the one that did that. But for the curly hair strands, we used the how many? Um, it was the LOD zero full Nanite mesh directly from MetaHuman. And I think it had roughly 2 million polygons.
I can't tell you the exact strands, but it had about 2 million polygons. It was dense. I see. Yeah. And how many segments for each strand, do you know? Um, you know what? That's a good question. I can't tell you that. >> [laughter] >> Okay, thank you. You're welcome. I'm going to ask a quick one quick question on the relationship to the acceleration, not necessarily in hair, but how this is going to accelerate things for virtual production and some of the non-game uses for for Unreal.
Um, I I come from a cinematic background, and I'm seeing what we can do in RTX is really going to accelerate how we can render in real time at higher quality for virtual production. And and what kind of speed gains can we think of? I mean, I've been been through a number of the RTX sessions now, and it looks like you can probably start thinking about having 15-20% across-the-board increase in quality or render speed, depending on which way you want to go.
Yeah, I I I think the um uh so, I should repeat the question. You're asking about um what could you we do with this in a virtual production environment? And like what sort of a performance or quality, you know, could you could you get from it? Um and in I think that the the I think it your mileage may vary, right? I think that is the the ultimate question the ultimate thing. Um the the hair I think is, you know, a particularly difficult thing, right?
Cuz you you saw, you know, with mirrors and stuff like that, like it's something that it is very hard for you to do at all right now. So, it's a, you know, a big quality uplift and a big performance uplift as well. Um because you'd have to do something else, right? Uh for for other things, I mean, the I the um the sample lighting stuff with uh partial, you know, color translucency, things like that, it's again something you can't do at the moment without unless, you know, resorting to a path tracer or you know, a full path tracer or something like that, you know, it's a whole feature.
Um and, you know, performance-wise, I think we have some of the best performance for a really high-quality dense lighting environment sort of option. Uh so, yeah, I think that there are some really great options for you there. So, a quick question. Thank you for the talk. It's very inspiring. So, regarding the hair RT, so uh what's your like recommended practices uh for those uh complex motion with hair, like such as uh animation, secondary animation?
Uh how do we minimize those flickering or uh uh temporal temporal noises or you know, shading inconsistencies? I really like that question. So, I'm just going to repeat it again so everybody can hear it as well as over there. But um the question is how what are the best practices for creating animation for hair using hair PT to make sure that we minimize the amount of shading inconsistencies, temporal issues, and denoising issues, etc.
And I would say that while we are still continuing to work um code side to ensure that we have more stable input signal, we are working with DLSS ray reconstruction as well to ensure that we have an even um more robust denoising. Um I do not believe that you need to alter the way that you create your animation, your grooms. And I would more look at the um sample count as well as fine-tuning in ju- very similar to how you would manage um other types of animations on characters, like clothing and different things like that.
I wouldn't say um and this is for both primary visibility as well as reflections using um raster PT, for example. Yeah. Yes, thank you for sharing these. Although they're still, you know, in development. Yeah, thank you. Yeah, of course. I just I just want to add something to that real fast. Um if you're looking at this from a sample lighting standpoint beyond just hair PT, uh just general real-time path tracing, that uh history value that you can, you know, set up in the post-process volume, it the default number is eight.
That's eight frames of his- temporal history data. You might want to, especially when using ray reconstruction, tighten that number up. You can usually get away with less. Eight is a good default for NRD, but in many cases ray reconstruction can, like in these examples, I was using two to four. Right? We you'd we don't recommend turning it off, but you can you can deal with less data, less temporal artifacting that way.
Hi. Uh thanks for the talk, and uh I have a question. Uh I guess you have a branched Unreal because of you have a lot of lot of engine modifications. So, will this eventually be available as a plugin that we can use? So, the the stuff we talked about today we we do plugins when we can. Um the stuff we've talked about today is stuff that is effectively impossible to do as a plugin. Um I mean, you could imagine, you know, writing a plugin that uh says, uh you know, overlay the entire scene with a different lighting, but it it won't be efficient.
It will be hard for you to utilize because of the fact that you will have to like do a completely different workflow. We work really hard to integrate technol- for for things that go into the branch, it's it's where we're doing stuff that we work really hard to integrate technology that doesn't require you to have a completely different workflow, where it'll take like the strand-based hair stuff, for instance. Um we we're just taking the strand data that's already there in the engine as is, uh and we can do that because of the fact that we, you know, bolt in at the same place that the procedural primitive does.
There's no real way to just replace what primitive it adds to the the BVH without doing that sort of thing. So, our branch is for where we need to do more invasive things. We do we do try to do plugins where we can, like the denoiser plugins, the upsampler plugins, the multi-frame gen plugins, those are all things that are pluggable. Uh megageo is another great example. It's like we have to manage this entire pool of uh geometry in the background, and yeah, it's just not it's just not feasible.
Okay, thank you. Um I actually have a little more to add to that, too, because I I think it's very important that we help enable those who want to have a very easy solution, because I'm the same exact way. Um I don't want to build code all the time. So, one we do have uh a few series that we have a webinar series as well as online tutorials that are like very short, 3-4 minute videos on how to do these things. Um and we're hoping that we can make things more accessible in terms of documentation, tutorials on how to put everything together for those who are more comfortable trying to use plugins, which me.
So. Yeah. Uh when you showed the um cafe demo, the the mesh that it was uh you know, looked like it was meant more for some kind of bake light solution, um and for a lot of the typical like Unreal lights, um would you see a path for us or a path like to use kind of what you showed as, you know, a more like a pre-vis and being able to bake out the um the the trace lighting into into into an in Unreal, kind of like what um uh light mass GPU um bake does?
That's an interesting question. That might be more for you, but what I like I can say generally we're our aim our goal is to try to do everything real time. We want stuff to be dynamic and fast, right? 60 frames per second plus, and uh for completely dynamic. Cuz I'm thinking like mobile platforms >> so that's that's that's our focus, but uh do you have anything you want to add to that? Yeah, I mean, we really haven't looked at extending light mass itself um because it it has had a GPU tracer for a while, and um I guess we've been looking at it as maybe a solved problem that maybe maybe we're the pre-vis for doing things with that.
Um but uh yeah, I I mean, if I mean, it's something we consider if you think it's something that's really, you know, really necessary. Uh but I mean, in general, we are, you know, driving very hard towards fully dynamic lighting, right? That's that's something that we think is really, really important. I mean, it's something Epic clearly thinks is really, really important as well, right? Uh we we kind of see that as the future.
So. Cool. Thank you. That focused on baked. Oh, it's fine. Uh hi, thank you very much for the talk. Um I unfortunately came in a little late. So, if you already answered this, um thank you for speaking to it again. Um so, for developers that have to support consoles of like older generations that use only that can only rely on SWRT, um how do you reconcile that with, you know, higher-end machines where you want to explore hair PT, but also might have to find like a different solution for your consoles and So, the question was how do you resolve if you're developing for an older console that you know, requires software RT, uh you know, things like the hair whatever supporting that.
Uh well, I think what we see as the solution there is you're probably going to use cards uh on that that console. Um so, you're probably going to, you know, have it have your your LODs turned down and stuff, and then I mean, you know, we you know, as Kels- as Kelsey mentioned, the you know, the the hair is a bit of a higher-end feature, and LSS is really only available on Blackwell GPUs. So, even even on, you know, some of our own GPUs, like an Ada GPU, like a 40 4090, we would say you can't use LSS, uh so you would, you know, be falling back to either the procedural primitive, or if that was not enough performance for you, that you'd fall back to, you know, a more traditional strand.
So, it's it's a it's another knob on the feature set. It's it's not a replace everything with this. Yeah, makes sense. Cool. Thank you. Awesome. Thank you so much um for the talk. Um I have a question. So, for this coming release of NVR TX 5.7, will um things like mega geometry for foliage um be supported yet? Uh the short answer is no. >> [laughter] >> We're we we will be talking about it at some point, but yeah, we don't have it quite ready yet.
I don't know if you want to see anything. Yeah, so just Yeah, it's Yeah, so I I I mentioned So, the question was when when when mega geometry for foliage. And the the the simple answer is I I said something kind of early in the talk about we were kind of freezing our mega geo at the current level functionality for a little while. And once we work through some of the stuff that we're working on, we'll integrate that back and then foliage would be you know, beyond when that gets merged back.
So, we're we're kind of reworking like memory management, streaming management, uh uh sort of you know, better LOD control to match with like what people have what some some partners have requested. And once all of those things are in place, then you know, it'll be able you know, to move forward to like other features like that. >> Okay, cool. Just curious. I saw the talk this morning where they had the 60 million trees they're like instancing and I was just curious from that.
I will I will add it cuz I I said no about that. So, I know that sounds very harsh, but we we we we all recognize that this is really important. Like uh Yeah, this has to work, right? Like we got to get it done. So, the whole team is on board with that. Okay, cool. And just one last quick thing. Is there a C var to NVR TX to use ray tracing for the primary visibility rays as well? So, not just like to ray trace everything and not raster the primary rays.
Question was is there a C var to enable primary ray tracing in NVR TX so that you don't have to rasterize the primary data? Um so for opaque geometry, the answer is no. We did implement that for Zora. However, we found that it was um it was too early, I think is the the right answer because there are interactions with other systems in the engine basically. Some other systems in the engine are kind of like dependent on occlusion queries, things like that or whatever and you really need the rasterized stuff rasterized passes going for that stuff.
Um and so as a result, it was like was extra code for us to carry around with not a good benefit for somebody that would you know, really want to use it. We We expect to get there. We expect to get there, but we want to get We're going to get there when it's the right time. Now hair to be clear, when that path traced hair, that is doing primary visibility via ray tracing. We don't rely on the hair strand rasterization path.
Instead, we found we got better quality by just doing primary rays against the hair. Cool. Thank you. I have a question about the plugins like DLSS upscaling plugin. Right now, they're only supported for Windows. Are there Are there any plans to support them on Linux in the future? So, I can say that with the pre-existing plugin, there is some kind of like Linux compatibility. But we do not fully support it at this time because we're still looking at how I would say um I guess working on it really.
I mean, that's the best way I can explain [laughter] it. Is it anywhere on the road map to support these plugins, you know, in a future version of the engine also on Linux? Not in the near term is my understanding. All right, thank you. Yeah. Hi. Yeah, thank you for the talk. Earlier in the slide, you guys mentioned that you were still dependent on the surface cache that Unreal was providing. I was curious or rather just want to get clarification.
For raster GI, you guys are using that surface cache or Yeah, so the question was we we we said made a statement about being reliant on the surface cache for some of our raster stuff. Um and the answer is yes and no. We are not reliant on the surface cache. However, we will use it opportunistically because you know, you go if you if you it's it there there's a C var enabled basically to terminate last bounce in the lumen surface cache.
And because of the fact that we have there is already a radiance cache in the scene, it makes a lot of sense for if I've got a couple of bounces in to just go ahead and look up in a radiance cache. And because it's already evaluated and used for other passes, may as well do it. Um however, you can disable that today and get pure path traced, you know, 10 bounces if you want for for those passes. You know, you pay a cost, right?
But um you know, so we we feel it's you know, I mean, it does add some bias because it is you know, a radiance cache. But you know, we feel it's a great thing for you know, if you want to run a game and you want to run it fast, looking up in radiance cache is a great you know, sort of terminal solution. Okay, makes sense. Thank you. Are you running from a spark? I had to see the little box on the desk. I didn't know what that was.
No, no, no. That The question was are we running this off of a spark? And the answer is no. That is the AV switcher. >> [laughter] >> Can't tell from this side. If we were, I'd be playing on it. You'd know. >> [laughter] >> You'd be playing video You'd be playing real time instead of that. No, yeah. Exactly. Thank you. Yes. >> [applause] >> Thank you.
The words are the caption track's own and nothing is reworded or re-transcribed. Paragraph breaks are placed between sentences so the text reads as prose.
Free tools for your own script. No signup, no login.
Paste your draft and see where viewers are likely to drop off, with a rewrite for each weak line.
Paste the first 30 seconds of your own draft for a hook score and rewrites.
Check your draft against YouTube's advertiser-friendly guidelines before you record it.
Read this channel's public videos and transcripts, and download a writing brief for it.