The minecraft r-tx beta has been released and is in your hands and before I released my video on Thursday this week covering some of the special things that path tracing can do in Minecraft i sat down with developers in the game itself and interviewed them about the development process of Minecraft r-tx How it works what the challenges were and what makes minecraft r-tx so special so without further ado here’s my interview with the developers behind minecraft r-tx I want to start up with this conversation and thank you for everyone for joining us here today if you could really quickly just explain who you are And what your position is on this project minecraft r-tx I I’d be grateful I’ll go first my name is Olli rights I’m the lead engineer on the Nvidia site for my craft so I’m a cookbook shamsky I’m a development technology engineer yep’s and my name is Polly oka rinin I’m Yet another dev tech engineer and just working on bright writing with this project my name is Jacques apostle oh I’m producer on the Nvidia side-on on minecraft with r-tx thank you very much so before we get into the more technical discussion I think it’s great for our audience to know what exactly path Tracing is because everyone here is about ray tracing all the time they heard about ray tracing acceleration and RDX GPUs but what exactly is path tracing how is it different than ray tracing and how is it different than the normal minecraft or normal rendering that we’ve come to see in games like Minecraft I don’t think there is a state distinction between ray tracing and path tracing generally they’re very similar terms and sometimes used interchangeably even but I think that in the past we used to distinguish between write racing and path racing in terms of like you can have one ray traced features such as Greatest shadows or a trace there flexions while path tracing this more global solution to include all aspects like shadows reflections GI caustic scene 1 using path tracing it’s called path instead of ray tracing because it assumes that you are tracing paths meaning multiple race between observer And the lights to form the path of how light bounces around the scene to create caustics global illumination and things like that and I will say that the biggest change from rasterization based rendering the API were used to before is that things that have to be pre-baked in rasterization like our hopes to Calculate global I think we can now do them in real time using birthdays so what was the genesis of this project when did it start and how long has the team been working on it yeah I’m trying to think of the genesis actually I think I forget honestly where the original idea or Spark came from whether it was us or Microsoft or somebody else but we’ve been working on this since last year since early last year I would say about March maybe and then if you recall we shared some early progress in Gamescom last year and we’ve been working ever Since to kind of finalize everything and get ready for the beta that’s coming up right now I think one of the things that kind of made this a very very interesting project for us and something that we definitely eagerly jumped on right away was minecraft itself which it’s Obviously one of the most iconic games ever that’s one thing and that’s very important but it’s also a game that has a very simple premise which is basically placing blocks and sometimes breaking them and but then you can create practically anything with that very simple premise and it’s it’s User-generated content all the way if you will and it has become as an environment it’s entirely dynamic and that is actually a very good match for something like path tracing where you’re unable to bake light like maps for example in the traditional way where anything can change at any point and the Path tracing will just after that so we felt that was a very very good fit and I think that was a big part of the motivation as you do mention the game kind of lends itself to being path traced because it is completely dynamic all the time but another thing that We’ve noticed obviously is coming from you know quake to being path traced is that kind of the simplicity of the original graphical presentation is also an aid and enabling path tracing because you can switch over you know from really expensive shading techniques and really expensive character models and things like that Triple A games to have a more simple world and then light it in in a very expensive way so if you could explain a bit or elaborate on it and what ways does the kind of way minecraft has was rendered previously you know before it was under DXR that eight it being path Traced in a way so like the perhaps it’s like blocky nature I’m not sure there are any aspects of it to make it more easy you may you may think so to kind of look at it because it’s very very simplistic graphics but it still has Everything that you would have in a game with more polygons or more realistic it’s just a it’s a style they go for with the sixteen by sixteen textures and they and the cubes everywhere it’s it’s a very distinctive style but that in itself doesn’t make anything simpler if that makes sense You still got a huge number of polygons going off into the distance not everything is cube shaped you’ve got the the mobs you’ve got you’ve got lots of different shaped objects you can’t rely on the cube nature of the world for anything you’ve got a grass here right In front of you it kind of sounds simple oh it’s Minecraft it’s just cubes right but it’s it’s not there it’s just as complicated to render things in Minecraft as in if it is for any other game particularly when we’ve added PPR materials so we’ve got the same kind of Glossiness and emissivity and roughness you know got metallic materials we’ve got the same all the same kind of materials now that you would have in a more realistic game yeah we we also support higher definition textures if you want to do that so that’s totally possible to mod in basically taking this From March of last year let’s say the engine at that time I think the bedrock engine this vendor dragon version of it I’m not sure if it’s supported DirectX 12 at that point in time was that something that people that people in this conversation were involved in To bring the engine over to dx12 and then DX are on top of that and if so could anyone probably explain that process to me and how easy it was or no fortunately the rented dragon engine at that point did support the x12 so we we Didn’t have to worry about that side of it the only the only thing we had to worry about was that in the the DI car support and the right – that’s that’s actually pretty great and so plugging into DX are like the accelerations where structures were built out of the Geometry without much great work or was that actually a like a large process in itself to making sure that you could actually like see a triangle right it’s I think in the space of two or three weeks if I’m remembering correctly Yanko might be able to correct me here I think In the space of about two or three weeks we had something up and running we had the acceleration structures being built and we had I think Jakob put together some simple kinds of ambient occlusion debug view so we could see the world so I think that we call it raised on screen That first kind of milestone when you get to see something so I think we got to raise on screen in between two and three weeks speaking of DX our Microsoft just kind of codified and announced DirectX 12 ultimate part of that is DirectX ray-tracing 1.1 this beta version of the Game does it use direct any features like inline ray tracing from DirectX ray tracing 1.1 and if not does it plan to in the future and if it does or if it will in the future what areas of the current path raising do you imagine that DirectX ray tracing 1.1 features could Be of great benefit or of some benefit if I understand correctly I don’t think the Excel 1.1 is available in a full release of Windows yeah I think it’s available in one of the kind of early access builds so we’ve we’ve written this all around 1.0 everything Everything works really well in 1.0 and we were quite happy where they were using disparate rates for everything could we refactor to use 1.1 possibly I don’t know what benefits we will get from them I think you could had some ideas about light sampling that might Have used some of that stuff so we’re I think we’re looking into it yeah and it wouldn’t be playing a major role at least what are some advancements very specific advancements in terms of like graphical effects that you can see in Minecraft RTX that were not available in quake to RTX and what are the reasons for that in the engine like what are you doing differently in the path tracing now that’s a good question so I think the multi balanced GI we have diffuse global illumination that have multiple bounces there’s a form of it I Believe but I think we have a different way of sort of caching and propagating that that might be more times the irradiance caching is I don’t think that is actually in quite to RTX at all like what is the irradiance caching essentially do and why is it such a Benefit the irradiance cache effectively stores ray-tracing data with the geometry in the world so in snore Mele with your ray tracing you would be tracing for each pixel you’d like trace a primary ray into the screen and then you would trace secondary rays from where you hit this Kind of does the ray tracing in the world from the from the geometry and it stores data with the geometry in Minecraft one of the things that allows us to do is accelerate our secretary raise a lot in case it’s when we don’t need a lot of detail so there’s a Performance aspect to it and it also gives us this feedback mechanism we should raise from the geometry in the world and they hit other parts of the world and you get this feedback going on that’s what gives it the multiple bounces now there is a lag in there So if you place a block down there’ll be a little bit of a delay as you see it filling in the light bouncing around most of the time that isn’t an issue in Minecraft so it kind of is it’s tailored to work with the kind of geometry that we have Here and the the scale the resolution of it fits very well with the kind of scale of geometry that we have in Minecraft as well it’s a kind of a pragmatic solution to a problem of how to get that multiple bounces and how to get a bit more Performance at the same time so the the irradiance cache looks – I’m pretty sure bounce around the few sliding primarily and if I recall from like the metros global illumination metro Exodus is global illumination in an implementation that they kind of stored the global illumination in a spherical harmonic and They could reconstruct specularity from that for the global illumination how many real specular bounces of global illumination are there in Minecraft RTX okay with this this kind of depends on how smooth the surface is so if you’ve got something like a mirror here that yeah yeah cause standing in front Of then we will do I think up to eight bounces if it’s not perfectly smooth then it’s just it’s the primary hit and then the secondary hits and then we will stop at the irradiance cache so it’s just kind of – raised for like a mirror surface like this are these rays all Being cast in the in the span of one frame or they accumulated over eight frames in the mirror okay that’s all in one frame but it’s kind of there’s a change of behavior as soon as you get to this kind of mirror case if you stand between these two kind of polished Mirror blocks you can see multiple bounces going off seven or eight and then like if you get to the eighth one you can see like a a dark black box writings like almost at the mirror yeah it eventually eventually tends to the dark yeah another feature that you added In – I think was basically how the volumetric fog was lit which I’m think is actually very unique I hadn’t seen that before and it surprised me that I was there when I saw the game at Gamescom the technique that’s in there now is using a frontal based approach It’s a common technique in restrooms at the moment where you have a 3d grid of voxels but it’s aligned with the frustum so that they’re called rook souls or axles right and then in each of those proc CIL’s you figure out the light that’s coming into there and how much of That light has been in scattered towards the viewer and then you have another path where you very much where you kind of walk through the Frog CIL’s and accumulate all the in scatter the difference with what we’re doing here the bit way you figure out what lights Coming in to the the Fraxel that’s ray-traced normally you would go for a shadow map from with shadow mattresses they are typically on or off you either hit the light or you don’t hit the light so you can’t do colored shadows with the ray tracing it’s quite easy to change your Shadow lookups to do colored shadows and have have semi-transparent shadows so rays can go through semi-transparent materials and change the change of transmission that the light that’s going through it’s quite easy to extend this technique to be full color and have full colored shadows that is particularly Interesting and I’m looking at this kind of setup rainbow that you have right here another kind of part of that is that something that was only added in quick to RTX is like 1.3 patch i’m pretty sure was the ability for glass to transmit color through as light goes Through it could you explain just really quickly how it is done in Minecraft RTX both for water and also how it is done for something like these glass blocks right here because that’s very stark feature that is pretty rare to see in real-time rendering at all there’s a Feature called in any hit shader where you can trace array and the any hit shader will get called for potentially every intersection of a surface with that Ray so that will get called for all of your say semi-transparent surfaces so we have a transmission it’s called transmission color free surface It’s basically what color the surface is it’s like a like a light filter so a red filter would have a transmission of 1 0-0 so it lets a hundred percent of the red light through and zero percent of the green and the blue life right through and you just accumulate that Transmission you actually multiply them together so each surface that the ray goes through you multiply the transmission values together if you’ve got light coming from a glow stone or a torch hits a surface then we shoot a transmission ray like a probe to figure out what’s the total amount of Transmission loss between that’s the light sauce and does it work differently for the water services in Minecraft or is that like the exact same any hit shader style technical water is slightly different because you want to have transmission loss through the media so the glass blocks a handle slightly Different glass blocks are handled like a clear glass block with colored filters on the surface on there on the faces but the water you want to see that kind of reg s and attenuators alike goes through the water the water is is handled slightly differently for that reason but It can it can get a little bit complicated figuring out the order that you’re hitting things because the only hit shaders can come in any order they’re not guaranteed to come in the order that you go in through the race so there’s a little bit of trickery and There are things where the game will know when the camera is underwater for example so when the camera is underwater all of the primary rays are going through water so they will all experience the transmission loss the extinction it’s called it for the water the water is handled slightly Differently so bringing over minecraft – you know this DX Rd X 12 version of it and at all getting it to work I assume imagine required you setting up like the game to have motion vectors because either would need ta a or need the motion vectors reading noising or Specifically for DL SS we was anyone on the team responsible for that and was that actually a hard thing to do to make minecraft suitable with like having temporal information over time or was that relatively easy so I guess many of us were involved with that process because basically the game Doesn’t it doesn’t know about the previous frame and obviously for motion you need to know where you were in the previous frame and where you are now in the current frame we definitely needed to do something special just for the ray tracing implementation to know like which object was present in the previous Frame and and where is it now – not to go into too much detail let’s say now it kind of works so it works well enough we have a way but it’s probably something that we need to look into for the full really for release steal okay yeah because playing it now I Mean I actually don’t see that much like ghosting on a lot of objects and the fact that deal SS even works at all and with any level of competency says that it’s working well whatever you’re doing exactly we can say that we basically need to track like each object that is On the screen and if it has been there on the previous frame and so forth so I was like each object like given an ID or something like that yeah basically like that part of that obviously getting DL SS to working and and the obviously getting the path tracing and working and Have it be functional a big portion of path tracing is not just the shooting out and tracing of rays themselves but also the denoising which in this game specifically costs more than the actual like the the ray tracing loop could you explain exactly what is actually a large Portion of that cost exactly what other why is denoising so specifically expensive in a game like this and what are some of the like more like some of like the optimization strategies that you took towards making the denoising as costs have the cost that actually has Why do we spend so much on denoising wise it’s why is it so hard we have in Minecraft quite a noisy signal GI is shooting Ray’s in all directions it’s effectively randomly sampled and that accounts for skylights for emissive surfaces and for any kind of light in From bounces to the lights that means it’s possible to get very kind of noisy signals if you have one bit of glowstone that’s quite a long way away from your surface then the chances of the rays hitting that get quite low and that means you have what we call it but a Very noisy signal which means you need a good denoise ax so we we do spend a lot on denoising but denoising that the process it goes through is – it’s an iterative solution you spend many iterations with a filter kernel that gets bigger and bigger and bigger each each iteration The job of that colonel is to look at samples nearby say is this sample on the same surface is it is it part of the same object the same the same polygon even and is it a good candidate for sharing information with this pixel it’s a very bandwidth heavy operation I think We do six iterations for the diffuse denoiser yes we do six for motes so that’s six iterations with the kernel getting wider and wider each time that the filter kernel ends up covered quite a large area to be able to take that noisy signal so if you just get one Bright spot we need to be able to potentially share that signal with lots and lots of pixels it’s just it’s an expensive thing to do I’m sure there is still scope for optimizing it further but that’s that’s where we are now speaking of the the denoiser really Quickly it is done in three separate D noises as far as I understand for like the shadows the specular and the diffuse lighting can you explain basically for the viewers while it is a good idea to separate like the denoising for each of these elements I let how I talk about The Sun the Sun shadows but for the diffuse and specular probably the biggest reason is the way that they move differently so if you move your viewpoints the diffuse stays with the surface the thicker the light has kind of been stuck to the surface but the specular is a reflection and that kind Of moves with the reflection point that’s the main reason why you want to treat them separately and also with the noise in the light signal not the final image so we in the data that we’re doing isin we don’t have say the surface color the diffuse I’ll be down at the green Pixels so it’s a much smoother signal that we finally end up that this D noised and then we have this final combined step that puts everything back together and brings in the diffuse albedo the metalness and it puts it all together to kind of help the D noise in The the things that we’re doing even the normal Maps we’re denoising spherical harmonics for the diffuse spherical harmonics in in screen space which makes the job of the D noise are easier because it doesn’t have to stop with normal different normal directions in a normal map the diffuse D noise it doesn’t To worry about it’s only interested in the geometry normal that could make his job easier as well pilar do you want to talk about the sun basically for the visibility which is shadows we use a different denoiser and that’s simply because we can use a different integer which can be more specialized for Shadows and and also faster at first we had the visibility signal in the what would you call it cobble illumination buffer and we just denoise everything all together by doing that we lost some shadow detail and that very like those like hard shadows because obviously like What we see now on the screen when you are very near some edge you can have very hard shadows but when you go further you can have very soft and by separating the shadow from the global illumination data we could obviously denoise them separately and then we Could use things like the sun size protected on the surface and we could figure out there like where the shadow should be very precise and hard and where it should be soft by doing this separately we get a faster solution which is also like better quality because it’s basically a Specialized for this particular task part of that global illumination pass and denoiser after the the primary visibility with the sun the normal like say I would say like emissive surfaces are also added into that so that so do they get technically if you add like a whole bunch of emissive surfaces in an Area would like the quality breakdown for the lighting there or does it scale up really well to thousands of lights let’s say for example we have a distinction between emissive surfaces and what we call explicit lights like yeah talk about the explicit lights in a second so the the emissive surfaces he Actually works opposite to what you just said the more emissive surfaces you have there the easier it gets for the denoising because the the signal is cleaner there is more chance of hitting an emissive surface it’s bigger there’s more of it the explicit lights work the other way Around so they’re torches torches and and rods and lamps and things like that which had small lights instead of the big size of blocks yeah coop do you wanna talk a little bit about how that works yeah sure so I solely mentioned we handle emissive triangles and lights just by standard Specular and diffuse passes but explicit lights such as torches and lanterns let’s say we have a special pass for them where for each pixel we randomly select one torch or one Lantern and we should donate towards it if you think about it we in each pixel be some only Different light and then we feed it to denizer for denoising so even if there even if we have thousands and thousands of torches we still randomly sample each one of them at least sometimes and their final image is quite noiseless because of the user does very good job on this And maybe I will add about the you know I think you have been asking before why is denoising so expensive when why it’s necessary so maybe one technical observation is that like Wally mentioned we have quite a noisy signal but if we wanted to have less noisy signal in the Beginning we could shoot more eggs but there is pretty fast we will hit a lot of diminishing returns so if you doubled our account let’s say you should to raise instead of one the noise goes to house but if you want to have it again you have to shoot four hands and then How good you can add rings so pretty soon you end up in a situation that is just not feasible to shoot thousands of rates per pixel and their noise is not getting much lower anymore so that’s why the noises will be probably or foreseeable future a big Part of these games I’m talking about the denoising one thing that was floated were right when the Turing cards were announced or r-tx cards were announced was the possibility to use machine learning for the denoising as I understand this game it’s like spatially and temporally done I know There’s a whole bunch of research going on I’m not sure specifically for Minecraft when that would become relevant we’re definitely looking into that they’re kind of artificial intelligence Dino’s ders as far as I know and I’m not an expert this but you can field that they’re Being used a lot already in kind of offline rendering and I think there’s a lot of a lot of research going on relating to that and bringing them into real time but I would say one thing that I noticed right now in the game obviously talking about performance is That it does run actually pretty well for being a full-on path tracing experience but one thing I experienced at Gamescom when playing that bill back then was the fact that increasing the size of the like the world chunks as in Minecraft so those areas that are kind Of rendered out from the players center point would dramatically affect performance but I was just playing around with the game earlier and noticed that changing that rendering chunk distance to make it be further away from the player origin didn’t actually affect performance that much as I experienced Back then so what is the reason why it now runs decidedly better essentially than what I experienced back at Gamescom well this turned out to be a memory issue so the performance drop that you was seen on the gamescom build was when there was some aspects of the system That were very very inefficient and as we were creating more and more chunks the amount of memory just ballooned and it kind of the oversubscribed the big Ram so as soon as you get a situation where you’ve got things that go in out to system memory then performance can Take a big hit so it kind of it falls off a cliff so a lot of those issues have actually been addressed it still uses more memory than vanilla minecraft obviously but it’s not as bad as it was so a we can’t go to higher chunk distances now the way that we could Previously so it’s actually more of a it was full enough a cliff for the memory rather than it had it been a ray-tracing restriction was it well do the raise shot out into the distance shade at the same level of detail as the ones that hit things closer to the camera or do Things shade it at a distance are shaded are they shaded more primitively it’s all to do with the distance between the weather rays launched from the thing it hits so the Rays that are in the distance have exactly the same shading as the one one thing that’s particular did this and I noticed in the presentation as well was the reference to the fact that the the primary visibility could have been done through rasterization but here it is done through ray tracing for what reason did you choose to do that initial step through through ray tracing and what advantages does it bring actually Since you did do that we did it through ray tracing probably initially through laziness that was just we was just getting our Ray’s on screen and that was the the thing to do and it would have actually been a little bit more work to use we would need to modify The Minecraft rasterizer to output a G buffer so that is not free there would be some work to do there and then later on we discovered things like the lenses and things like that that we can do in our in our region by shooting primary rays that actually would be trickier to Do maybe it was the right decision we could always we could always do the very first hit with rasterization and maybe we will look to do that in the future has an optimization to be honest it’s not going to make a huge amount of difference yeah that was kind of the Surprising finding we had the primary region is is it’s pretty fast because the Rays are coherent everything’s going to the same duration neighboring rays to hit the same kind of thing so you don’t hit some of the bottlenecks that you do in other passes so right now the game Ships in this beta form with a lot of these really interesting path tracing systemic things being visible like the transmission the volumetrics like the you know like the shadow is attenuating into been Umbra and the distance and things like that but what other kind of more experimental or interesting Features do you think that this path tracer is capable of doing in the future that are currently not in game there are other ways you’ve looked it into extending the path tracing one of the things we have that’s actually working there’s not shipping in the beta is Weekend as well as having the sunlight going into the volumetric fog we can put global illumination data in there as well so anything that’s kind of glowing will also light up the the fog you’ll often see this in games now with without point light sources or Able to eliminate fog but we can have this from from anything that’s bright whether it’s emissive or whether it just happens to be bright from being lit by the Sun so this is something where we’re very hopeful that we’re going to get into the game before the full release Are there any other like specific features like like the caustics themselves from the water or something like that I know they’re currently in right now but like multiple bounce caustics or something crazy like that yeah the caustics we have right now are pretty simple we tow it around I guess With that that was a point of discussion at some point where we could do something like mesh based call stakes or so someday I think that’s more on a level of a crazy idea at this point but you never know yeah there’s multiple things that might come down to how much Performance we can get back by relief there’ll be a there’ll be a big push I think to try and do more optimising to get more performance back and anything we could do there it can be plowed back into into more features so speaking of things that obviously this is a beta Product right now what are some things at the moment that you think are like behind or you would like to see improved like specific things in terms of the path tracing you want me you want me to call out the book yeah I mean you can’t Call it just say let’s say the things that you would like to see improved I guess I would say for what would you keep improving I guess more positive way but yeah what what kind of things would you keep improving on from this beta form there are things that happen that Everybody is gonna say that I play locally that we don’t like for example if you if you place a torch or you remove a torch at night then there’s some quite nasty ghosting that goes on in the because of that like there’s that temporal lag that’s yeah they go that’s Not pretty we we we know that that’s not pretty so we we’ve certainly got there are the RO techniques that we can use to to mitigate this a lot for things like that was would that be a change to digitizing then or like being more aggressive with the irradiance cache or What exactly would that mean this this one is a denoising issue specifically that issue this will involve making the D noise uh adaptive so have the D noise would be aware that the light in this chain have become more responsive during that time there’s a similar issue in the Irradiance cache though we do we see with the it’s what we call it color issue the minecraft is bill or rasterization the rasterization only cares about what you can see on the screen the world is melted a total chunks these kind of 16 by 16 by 16 Block units of the world so the goddess this clever system for culling chunks and only having chunks in the scene that are visible that’s obviously no good for ray-tracing because we have other things that impact what you see on the screen you could have a chunk that’s casting a Shadow from the server you will want to consider so we’ve had to do a bit of work in that area to make the chocolate or suitable for ray-tracing instead of just considering what’s on screen it also considers what’s behind you for example in case it’s in a reflection or What’s nearby and things which are kind of going out towards the Sun that might be casting the shadow onto the scene but it’s not perfect and there are issues with it if you go down into any cave you get this issue sometimes where you’ll see a kid in the distance where it looks Like the cave is glowing that looks like there’s some skylight in there and that’s exactly what it is because a neighboring chunk has been cold to wireless down there it’s kind of flooded with skylights and then when you walk up to it that hole gets plugged as it were A skylight can no longer get into it so it then goes down to its proper dark solution so now that’s a particular issue that I really would like to be fixed before release but it’s it’s not easy it’s not easy to know which chunks are going to have an effect like a Visible effect on the final image because you could say that every chunk will have some impact on the final image some of them are just going to be so tiny that it’s not worth having and you don’t want to have all the chunks which are kind of in the some visible range in The acceleration structure because that’s impractical so you need to find some middle ground that’s the kind of hard problem that is not so obvious I think when you when you just look at the result it’s a circle and dependency because you have to show their eyes to Know what they’ll be visible but after that it’s pointless to power because it’s already too late you already shut your eyes so it’s this kind of problem switching to more positive things other than just lights being negative things because this already looks obviously really amazing one thing that I found really Interesting was reading through the presentation I’m pretty sure the only rasterized bits are maybe like the initial Sun surface and the particles in the game do you explain how like something like the particles are blended in with the scene at yeah there’s nothing fancy there actually so we just simply blend them Some of the particles will check if they are like when you just normally rasterize them in my graphs they will know if they are behind something or something is blocking them from some parts or they are in front of something so we kind of get a buffer that has Quite correctly rendered or in this case rasterized particles and we simply blend that with our ray tracing final result nothing fancy there I guess we I would really like to say that this is something that we would like to improve because sometimes you might see we are Things happening with it but mostly it’s working pretty well do they get any lighting contribution from the environment I don’t think we try to match the lighting minecraft itself does the restoration coloring a little bit differently based on the time of the day I think so that’s where some matching Comes from the the Sun and the moon actually currently I think they are raytrace yep it’s a mesh just a billboard it’s a cold and it’s like as if it was a object in the scene do you see the techniques used in this version Of the game to be able to be used in other projects in the future because it seems like this built obviously of previous work on denoising and the path tracing system as well do you see this also these denoising techniques for example working in a game that has like More fine detail as well like with higher geometry counts or like you know like things that are like more sparsely rendered like hair or something like that do these techniques also apply very well to games with more complex graphics I would say in terms of visual noise I Think the techniques that we use are not that specialized for Minecraft so so they are working in other let’s say research projects or other games as well so I think that’s that’s pretty cool that they are not that specialized for for this content yeah that is one very Nice thing about paths I think that it’s much more general I think than rasterization which to find you I’d say for a first-person shooter you have to find it differently for real-time strategy and nice thing about path racing is that it is very general and the same algorithm can be Adapted to many different scenes and many different kinds of games easily I would say from everyone here worked on different portions of this obviously I would love to hear from each one of you what specific thing you worked on and what you liked what part of this project You were specifically proud of while working on it fully you want to go first or yeah so I worked on the initial ray tracing implementation of diffuse and specular passes including the material and I’m very happy I worked out in terms of visual quality of the material so Basically I I joined way later than Jakob and Ollie and one thing that I did first was shadow denoising and I think that’s that I like the most because it kind of turns out as I wanted it to be so finally finally something looks as It’s supposed to and then I did just a bunch of stuff like making sure that everything just works ray tracing words works with the bits and pieces that we rasterize etc and some other experiments with noise yeah I forgot to mention I worked on implementation of torches so That is also very cool thing yeah I think one of the one of the big things that I worked on early was the irradiance cache getting that implemented really quite pleased with how that’s turned out in particularly the multiple bounce nature of it you know that really helps with this game When you see pools of lava in the cave you can just see a kind of a faint glow from some caves woke up to that glow and then you realize that the lava flow is kind of round a corner couple of hundred feet below you I think that’s really Cool I think one of the things I discovered was that I lose a lot of time to just messing about in Minecraft I’ll be implement in the future and then I’ll go in test it and I’ll discover that I’ve maybe just spent an hour just building something because it looks cool so I’ve Just been have it I’ve been having too much fun on this on this project it’s been it’s been good yeah I guess like it’s it’s a challenge but it’s also a good thing that that we were finally working with a project where we can actually modify the test scenes like Usually when you’re working on a game you might have a team of artists doing the scene or doing the final scene or the textures but now we can do it all but then again like it’s a challenge because we need to prepare for it there might be somebody who might put millions Of lies and like thousands of layers of transparent blocks or whatnot which is not normally seen in especially like Triple A games so yeah I guess it’s it’s fun one of the things blew me away was I think you saw some of those curved mirrors and lenses I think that came About pretty late in the game I think Olli just fooled around with it one day and showed it to us and nobody had really planned for that or really designed for it or tested it and it kind of flat-out just worked and that was a Kind of a ha moment for me in path tracing I guess that you know there is a system of rules behind it and it is consistent and it can lead to interesting discoveries so that kind of blew me away at a time my feelings about this it’s just amazing to play it and Play around with it just to build stuff and immediately see what racing does we did we actually can modify shaders in run time so you can build something and then find unit by editing the shaders so it’s very rewarding for a developer to just be able to build anything in as a Test world immediately and see the results um one last question is what probably won’t be in the video at all I’m just curious why is why can’t you actually in perfect mirror reflections or in any reflections see the Steve character your first person character miles it just because It’s not rendered at all when you go into first person yeah it’s basically just because we just didn’t get to you yes okay so yeah you you would have to do some special things to to render that because that is not actually properly rendered in the scene since you’re in First person right so we’d have to we’d have to kind of just create an exception for that which didn’t get to that yet so that’s definitely something for for the full release you can see if you go into third person mode you can see your character model just fine but not in you Can see your hand in the first person mode which is kind of weird there’s nothing maybe or maybe not there are a few little things like that I think I think the the third person characters get cold early I don’t think we’ve gotten round to that that code Either yes and you’ve got mirrors then if another player goes off your screen they’ll vanish from the mirror as well so the little things like that that would we’ll get fixed for the full release very very cool I guess I would say thank you to everyone in the call Right now for coming in taking the time this evening to talk to me about this and that’s it and hopefully you enjoyed this interview with the developers on the nvidia side at least from minecraft r-tx and if you did enjoy this video hit that like button and subscribe to the Channel if you’re already subscribed then please consider hitting that little bell in the corner to be informed as soon as digital foundry posted video if you want to see more content like this in the future interviews with developers please consider supporting us on patreon to get our videos at the highest quality Available for download if you want to talk to me about Minecraft RTX or this interview write a comment below or follow me in digital foundry on Twitter and as always this is Alex bidding you farewell own of Vita zine you Video Information
This video, titled ‘Minecraft RTX Deep Dive: How Nvidia Delivered A Game-Changing Ray Tracing Upgrade’, was uploaded by Digital Foundry on 2020-04-20 13:00:17. It has garnered 143017 views and 4478 likes. The duration of the video is 00:44:01 or 2641 seconds.
Before we put together our own Minecraft RTX coverage, we met up with key Nvidia graphics developers *in the game itself* to get the inside story on what is undoubtedly one of the most transformative game-changing graphical upgrades we’ve seen from hardware-accelerated ray tracing.
Subscribe for more Digital Foundry: http://bit.ly/DFSubscribe
Join the DF Patreon, support the team more directly, and get pristine quality video downloads: https://www.digitalfoundry.net