Nvidia OptiX, VisualFX, Global Illumination & Flame Works (Nvidia #TWIMTBP 2013) 3 of 3
**Global Illumination: A Game-Changer for Lighting**
As we continue to push the boundaries of what is possible in game development, one technology that stands out as a potential breakthrough is Global Illumination (GI). Developed by GI Works, this innovative solution promises to revolutionize the way lighting is handled in games. By simulating indirect lighting effects, GI works around the need for hundreds or thousands of lights to create the illusion of indirect light, resulting in more realistic and visually stunning environments.
**The Science Behind Global Illumination**
So, how does it work? Simply put, GI uses a complex volume-based lighting technique that simulates the bouncing of light off surfaces. This is achieved through a process called "bouncing" where light hits a surface, bounces off, and then hits another surface, creating a chain reaction of light that can be seen from different angles. The key advantage of GI is that it's computationally complex, but the results are visually stunning and solve many fundamental problems with lighting and shadows.
**The Benefits of Global Illumination**
One of the biggest benefits of GI is that it allows for entirely indirect lighting approaches, which means game developers don't need to place hundreds or thousands of lights to create the illusion of indirect light. This can result in significant performance gains, as well as more realistic and immersive environments. Additionally, GI solves many of the classic problems associated with traditional lighting techniques, such as overdraw, blending, and sorting issues.
**Flameworks: A Volumetric Effect Engine**
Another technology being showcased is Flameworks, a volumetric effect engine that allows for stunning smoke and fire effects in real-time. Unlike traditional methods of simulating these effects using Sprites or layered quads, Flameworks uses a multi-grid volume-based solver to produce breathtaking results. With the ability to emit light, support shadowing, and simulate realistic behaviors like flow and interaction with geometry, Flameworks is poised to revolutionize the way we think about volumetric effects in games.
**The Power of Volumetric Effects**
Jim's demonstration of Flameworks showcases its incredible capabilities. By rendering a true volume-based effect, without any Sprites or layered quads, Flameworks produces a stunning simulation of smoke and fire that behaves realistically. This is the same technique used in the film industry for simulating complex effects like smoke and fire. With Flameworks, game developers can now create realistic and immersive environments without the need for complex render engines.
**Integration into Core Engines**
As part of its ongoing commitment to innovation, GI Works has already begun integrating Flameworks into core engines. This means that next year, we can expect to see these technologies integrated into games, potentially changing the way we think about lighting and volumetric effects in game development. With Global Illumination and Flameworks on the horizon, it's clear that the future of game development is looking brighter than ever.
**A Unified Physics Simulation**
The integration of Global Illumination with unified physics simulations promises to push the boundaries of what is possible in game development even further. By solving fundamental problems with lighting and shadows, these technologies can create more realistic and immersive environments, where simulation and physics play a key role. As we move forward into this new era of game development, it's clear that innovation and creativity will be at the forefront.
**A New Era for Game Development**
As we continue to push the boundaries of what is possible in game development, one thing is clear: the future is bright. With technologies like Global Illumination and Flameworks on the horizon, game developers can now create more realistic, immersive, and visually stunning environments. By solving fundamental problems with lighting, shadows, and volumetric effects, these technologies promise to change the face of game development forever.
"WEBVTTKind: captionsLanguage: enall right so um Optics some of you may have heard of Optics before it's an SDK for building primarily uh rendering engines that do rate tracing it can be used for a wide variety of things um it can be used for building rate tracers to do ambient inclusion to bake in the light maps for games it can be used for real time uh rate tracing uh you might have seen our design garage demo and there's a bunch of folks that are building real-time rate tracers out of Optics the highest performance rate tracers on the planet in fact are built on Optics on Nvidia gpus um it can be used to do high quality rendering on procedural surfaces uh but Folks at CCP in fact for Eve online use Optics to do character portraits for the game all using Optics um and something you might not have known um is that Optics is used um actually as part of a lot of game developers core pipeline um it can it's it can interact with and play with and it can be built used to be a building block to help produce great games so the folks at Bungie who you might have heard of these guys they're working on a little game called Des which you might have heard of um they're in fact using Optics to author content for Destiny they're building um ambient obscurins it's kind of a form of ampute inclusion uh basically doing Global illumination uh pre-calculation for destiny using Optics on Nvidia GPU Farms you know you you've probably heard Nvidia say that you know lots of game developers use Nvidia gpus but you might not know that they use Nvidia gpus in ways you might not have thought about they don't just use them to to as game engine development they use them as actually core authoring for their game itself so there's a GPU farm at Bungie that's cranking away calculating Ambi incurance um you can compute AO on a a really complex scene um in a little bit over a minute on this GPU Farm orders a magnitude faster than the Alternatives they bake it up for use at run time so you can hand basically simulate real time Global Illumination in Destiny um and the the fact that they can do this um on Nvidia kind of just as a testament to that the strength of that core technology the value that that we're bringing to the game developer industry the they're taking some record technology they're building tools themselves built on technology that solve really important problems it's pretty cool stuff so we're really excited to be working with the the bungee guys on Destiny um and they by the way this if if you're curious about this particular technique um this was presented at sigraph Asia uh by Peter Pike Sloan and and the crew from Bungie it's a it's pretty interesting technique again built on top of Optics pretty cool stuff so um one other kind of um technique uh that we use is uh is for am for am inclusion is called Verizon based Amun inclusion or hbao um what this is is a technique for doing a realtime detailed shadows as a form of am inclusion it's been integrated in a huge number of games it's a highly optimized library for doing um uh AO it it scales across a wide range of gpus it it runs on impia runs an AMD um and it's kind of a fundamental building block for doing lighting and games it's been integrated into a bunch of games that you can kind of see up here so let's go ahead and um see kind of kind of a before and after here so this is a traditional kind of scene that you might see um this is kind of I call old school um amid inclusion the uh the challenge here of course is that particularly in the car you're not getting a lot of the soft edges that you might get in real life with a with a higher quality AO solution so with Horizon based am inclusion you get much more of that soft effect so if you're particular if you look underneath the car kind of the old school effect tends to produce these hardge edges and in fact um am occlusion in real time is a I'll call it an approximation of of a true kind of full-on path tray solution and so it's not it's not going to be as accurate as a fully baked solution but it's because it's done in real time it can interact and characters can have it and that kind of thing so this cases it's a car so if you look at the wheels you get you get a little um Shadow bleeding onto the tire um and with amine inclusion you get kind of that soft that soft feel around it which is you know typically what a diffuse Shadow would have so um that's one of our kind of cool technology so let's take a look at what this can do in in uh real time so let's flip over to the demo oh you've got it up already so J if you want to talk to um so what we have here what we have here is uh is is is a tool we have that basically allows you to visualize the effects of the HBO library on um on a variety of game scenes from a game so this is a scene actually from Splinter Cell Blacklist and uh and the mode we've started this off in is kind of the the the traditional ssao mode which um which and basically the what what happens with AO is that you you do a search um around the pixel that you're currently looking at and and try to look for the occluders that are nearby and and the larger the search area the more complex the algorithm is and the more difficult it is to compute in real time and so what you end up getting is as Tony showed in the previous slides you don't get a lot of the you know the things that are further away or or larger occluders like the bottom of this car don't actually produce Shadows right so what we can do with HBO is you can actually increase what's called what we're calling the radius multiplier here or the radius of the search space b basically basically and and get a lot of uh interesting AO effects um to capture these larger further away includers and we also have a number of tweaks that that that artists and designers can play with in in in designing uh the parameters for our AO Library uh for example the detail AO level where you can you know if if you jack this up you get a lot of the fine details like the door handles and things like that or if you're looking for a more coarse solution because say some other Shadow technology inside your game handles the details you can you can dial this down and have AO just handle the course uh the course areas so it's it's very flexible it's very fast um it's fast on on on on all gpus uh and it's uh and it allows you to have really high quality results as we see here so one of the other really cool things about um not just the technology but kind of the way we work with developers is we build tools that let developers play so this particular tool we can just grab a trace from their game they don't have to go and integrate a bunch of code in their game so um one other uh kind of technique that we've been working on of course is contact hardening Shadows if if you're not familiar with what this means in the real world when you have an occluder and a light source the shadow that gets cast typically is hard edged near the base of the object and as the shadow uh gets away from the object it gets to be more diffused or soft Edge that's typically called Contact hardening Shadow so we have a pcss implementation that we've been working with on a variety of games this is it provides a lot of that kind of next level of Shadow detail particularly for direct light sources on you know things like trees or chairs and so you can kind of see it here as it's close the edge is hard as it gets soft it kind of fuzzes out blurs out same thing with the the chair there you get the the pole I don't have a laser pointer but I like right here it's soft and right there it's hard um these are these are techniques that we've developed they're delivered in in a form to a developer that they can just easily integrate them they can try them out if it's going to work for their game um and they have the extra benefit as as jeen mentioned is they are the highest performance implementation so just a little example of that if you take pcss or hbao um not only are they the highest quality implementations but they're the fastest Fest implementations so they're the fastest not only on Nvidia but we actually improve the performance of the alternative implementations even on AMD this is the kind of thing the game developers love because in the end they just want their game to be great right and if you give them a highest quality solution that improves their frame rate it either means the game can run on a a wider range of Hardware which is just good or they have more time or more CPU or GPU Cycles to put more effects in the game to make the game look great so these are just nothing but win-win for everybody great visuals great performance on every everyone any questions on that okay cool okay so the visual effects SDK so I kind of alluded to this a little bit before this is our library that kind of embodies a really complex Vis visual effects these tend to combine simulations and rendering animation and simulation and rendering um often times they involve non-traditional rendering techniques things like boxal or Ray marching or Ray TR tracing um much more complicated uh implementations we build these as kind of TurnKey solutions to solve those problems for developers so they don't have to do all that research and because we have the guys who are really the experts on how to do super fast GPU implementations we're able to kind of extract the absolute best performance out of some of these egge techniques that really other people can't afford to invest that time in I think most game developers would rather spend their time making a great looking game and making a great game and trying to solve you know Paralis and register pressure and cash sizes and all the super lowlevel nitty-gritty um some do but I think most just prefer the the kind of the convenience of taking a great effect and integrating it right in for games is direct light meaning a light source casts light on an object and illuminate illuminates that object but the light classically does it bounce the they the way the developer typically solves for that is they bake uh they pre-calculate glob illumination either using Optics or other techniques and they bake it into the um textures or the shaders the environment so that you have a an effect of global illumination the disadvantage to a technique like that is that it isn't Dynamic so when the world changes or when you destroy something or you're add a light source it's often difficult or impossible to have the updates to that indirect lighting happen so we've been working really hard on developing a super high performance library that allows real time Globe illumination the other benefit of realtime GI is that if you build your game around real-time Global illumination your artists don't have to spend so much time cheating one of the big Pains of game development is lighting and you have to you know be quite a sophisticated artist to get really good looking GI Global illumination effects without actually really having global illumination so they'll Place hundreds or thousands of lights in their scene because the lights don't bounce and so you have to do stuff like that whereas if you could Implement GI in real time it would just do the right thing light would bounce you get the indirect light you get the color bleeding um so what we built is a scalable architecture that enables that um and it's super high performance so let's take a look at what GI Works can do okay U so this uh what we're starting with here is direct Lighting in this scene only so direct lighting we have two lights in this scene there's one up here and one down here this blue one and uh and basically every all the lighting that's happens outside of these two cones is just a flat ambient term right so you can see it's very flat over here you don't see any detail in these arches and in these hallways um so let's let's go into the the direct lighting plus indirect lighting now which is um these lights were already there in the scene but you didn't see them because there was no balances happening as Tony explained um so now what you have is uh there's the the let's flip back and forth to to give you a good idea here these arches are a great example right there's no light falling on these arches directly from the light sources so what you need is indirect lighting which is light that bounces off of a surface and then lights another surface to get light to go into these areas and there's a number of really interesting effects that are that are enabled by this one is um since this is a completely real-time effect you actually get real-time specular or glossy Reflections uh which are entirely indirectly lit right this is just light that's falling on this surface from this emitter that's on that that these emitters are on these uh these little TVs uh in in in the hallway and um and as the in specular is notoriously hard because it's it's inherently Dynamic right because it's dependent on the viewer the ches based on where how your view angle changes so you see that the Speculator is done entirely correctly um other things we can do here is that we can have area light sources so these little uh these boxes that these Dino these dino bones are in are actually area light sources and so looking at the Triceratops here you can see that there's a a really really high quality ambient inclusion type effect and this is a notoriously difficult sort of shape to get real ambient inclusion on using screen space techniques you can see here that you have really great ambient inclusion um all sourced in real time from this area light source um and another thing you can do we can actually move these lights around so this is lower left what you're going to see is basically the the view from the lights perspective you can move move uh this light or you can move this other light as well um which is the blue light here and and one thing you'll get as you as you move around this light um you see the the cone of influence basically that the light has um but even things outside of this cone of influence like look at this Archway back here let me get out of this mode to get closer so you guys get a good look here um if you look at this Archway there's actually the the extense of the light ends right right at this at this boundary of the spotlight right so if I move this light you can see that the lighting is changing inside of that Arch even though no direct light is falling on on that surface so that's entirely because of the bounce that happens off of the floor the light bounces off the floor and hits the arch and uh and adds light there so yeah that's that's Global illumination so yeah I guess leave it up there for a second if you don't mind um so GI works is is a is a GI library that we're working on you'll start to see this integrated into games I think probably next year um the advantage to this is It's implementing a bunch of incredibly complex volume based lighting techniques to simulate all this bouncing of light that is necessary for the indirect lighting effect and it's fast you can it's possible to implement this on a GPU it runs across platform um the nice thing about it is that it's even possible to offer your game entirely with an indirect lighting approach which could which could be quite a breakthrough for the game development community so they wouldn't necessarily have to be placing hundreds or thousands of Lights to fake all of these indirect lights um you get some really nice effects out of it as Jen mentioned you get the the bounces you get the specular you get really accurate Reflections uh you get kind of a built-in ambient occlusion um kind of all just kind of falls out it's it's one of the beautiful things and I I think it's not I don't know if it's a theme but you we talked about a unified physics simulation where the the simulations can play with each other nicely one of the nice things about global elimination is it's um it's a uh a more elegant solution and then it solves a bunch of the fundamental problems of lighting and Shadow they all just kind of fall out of it it's computationally really complex the algorithms are really complex but the results are visually great and it solves a bunch of those fundamental problems and that's what we're really about you know kind of pushing the state-of-the-art visually and if we can not only make the result more beautiful but make the game developers lives easier and better so that's um so that's GI works that's one of the other technologies that we're announcing so um one of the other classically really difficult problems um in gaming has been really it has been nice fire and smoke classically this is done usually with I'll call it texture tricks it can be done with Sprites and billboards um it can be done U with a bunch of alpha Blended quads there's lots of ways to do this kinds of thing but the the challenge with pretty much all of the existing approaches is that they tend to not really be correct from a volume perspective um and again it's one of those things they don't really there there's always a side effect those things either there's you know a lot of overdraw which is really performance expensive or there's you got blending and sorting issues or things like that so we've worked on a solution we call flameworks what this is is a volum metric effect uh engine that allows for things like smoke and fire to be done essentially the same way they do it in film um except it's ultra high performance it be done in real time it's support shadowing you can emit light um and it uses a it's a multi-grid volume based solver to produce some really stunning effects so flameworks is kind of one of that that third as I alluded to three Technologies there's Flex there's GI works and there's flameworks so let's go ahead and kind of take a look at at what flameworks can do um and yet remember this is all kind of running in real time um and it's kind of one of those um volume based effects that solve some really complex problems so what what Jim's showing here is it it is actually a true volume there's no Sprites there's no layered quads there's no sneaky particle it's a it's a true volume based solution it's emitting as you can see it's shadowed it interacts with geometry because it's actually a simulation so the fire you know flows around the sphere and um kind of behaves the way you think it behaves this is the same type of effect and technique that they use in the film industry for doing things like smoke and fire I think that I can't wait to see this again so I think you'll see flameworks integrated into games starting next year as well in fact we've already started integrating this into core engines that's just I don't know that's just coolall right so um Optics some of you may have heard of Optics before it's an SDK for building primarily uh rendering engines that do rate tracing it can be used for a wide variety of things um it can be used for building rate tracers to do ambient inclusion to bake in the light maps for games it can be used for real time uh rate tracing uh you might have seen our design garage demo and there's a bunch of folks that are building real-time rate tracers out of Optics the highest performance rate tracers on the planet in fact are built on Optics on Nvidia gpus um it can be used to do high quality rendering on procedural surfaces uh but Folks at CCP in fact for Eve online use Optics to do character portraits for the game all using Optics um and something you might not have known um is that Optics is used um actually as part of a lot of game developers core pipeline um it can it's it can interact with and play with and it can be built used to be a building block to help produce great games so the folks at Bungie who you might have heard of these guys they're working on a little game called Des which you might have heard of um they're in fact using Optics to author content for Destiny they're building um ambient obscurins it's kind of a form of ampute inclusion uh basically doing Global illumination uh pre-calculation for destiny using Optics on Nvidia GPU Farms you know you you've probably heard Nvidia say that you know lots of game developers use Nvidia gpus but you might not know that they use Nvidia gpus in ways you might not have thought about they don't just use them to to as game engine development they use them as actually core authoring for their game itself so there's a GPU farm at Bungie that's cranking away calculating Ambi incurance um you can compute AO on a a really complex scene um in a little bit over a minute on this GPU Farm orders a magnitude faster than the Alternatives they bake it up for use at run time so you can hand basically simulate real time Global Illumination in Destiny um and the the fact that they can do this um on Nvidia kind of just as a testament to that the strength of that core technology the value that that we're bringing to the game developer industry the they're taking some record technology they're building tools themselves built on technology that solve really important problems it's pretty cool stuff so we're really excited to be working with the the bungee guys on Destiny um and they by the way this if if you're curious about this particular technique um this was presented at sigraph Asia uh by Peter Pike Sloan and and the crew from Bungie it's a it's pretty interesting technique again built on top of Optics pretty cool stuff so um one other kind of um technique uh that we use is uh is for am for am inclusion is called Verizon based Amun inclusion or hbao um what this is is a technique for doing a realtime detailed shadows as a form of am inclusion it's been integrated in a huge number of games it's a highly optimized library for doing um uh AO it it scales across a wide range of gpus it it runs on impia runs an AMD um and it's kind of a fundamental building block for doing lighting and games it's been integrated into a bunch of games that you can kind of see up here so let's go ahead and um see kind of kind of a before and after here so this is a traditional kind of scene that you might see um this is kind of I call old school um amid inclusion the uh the challenge here of course is that particularly in the car you're not getting a lot of the soft edges that you might get in real life with a with a higher quality AO solution so with Horizon based am inclusion you get much more of that soft effect so if you're particular if you look underneath the car kind of the old school effect tends to produce these hardge edges and in fact um am occlusion in real time is a I'll call it an approximation of of a true kind of full-on path tray solution and so it's not it's not going to be as accurate as a fully baked solution but it's because it's done in real time it can interact and characters can have it and that kind of thing so this cases it's a car so if you look at the wheels you get you get a little um Shadow bleeding onto the tire um and with amine inclusion you get kind of that soft that soft feel around it which is you know typically what a diffuse Shadow would have so um that's one of our kind of cool technology so let's take a look at what this can do in in uh real time so let's flip over to the demo oh you've got it up already so J if you want to talk to um so what we have here what we have here is uh is is is a tool we have that basically allows you to visualize the effects of the HBO library on um on a variety of game scenes from a game so this is a scene actually from Splinter Cell Blacklist and uh and the mode we've started this off in is kind of the the the traditional ssao mode which um which and basically the what what happens with AO is that you you do a search um around the pixel that you're currently looking at and and try to look for the occluders that are nearby and and the larger the search area the more complex the algorithm is and the more difficult it is to compute in real time and so what you end up getting is as Tony showed in the previous slides you don't get a lot of the you know the things that are further away or or larger occluders like the bottom of this car don't actually produce Shadows right so what we can do with HBO is you can actually increase what's called what we're calling the radius multiplier here or the radius of the search space b basically basically and and get a lot of uh interesting AO effects um to capture these larger further away includers and we also have a number of tweaks that that that artists and designers can play with in in in designing uh the parameters for our AO Library uh for example the detail AO level where you can you know if if you jack this up you get a lot of the fine details like the door handles and things like that or if you're looking for a more coarse solution because say some other Shadow technology inside your game handles the details you can you can dial this down and have AO just handle the course uh the course areas so it's it's very flexible it's very fast um it's fast on on on on all gpus uh and it's uh and it allows you to have really high quality results as we see here so one of the other really cool things about um not just the technology but kind of the way we work with developers is we build tools that let developers play so this particular tool we can just grab a trace from their game they don't have to go and integrate a bunch of code in their game so um one other uh kind of technique that we've been working on of course is contact hardening Shadows if if you're not familiar with what this means in the real world when you have an occluder and a light source the shadow that gets cast typically is hard edged near the base of the object and as the shadow uh gets away from the object it gets to be more diffused or soft Edge that's typically called Contact hardening Shadow so we have a pcss implementation that we've been working with on a variety of games this is it provides a lot of that kind of next level of Shadow detail particularly for direct light sources on you know things like trees or chairs and so you can kind of see it here as it's close the edge is hard as it gets soft it kind of fuzzes out blurs out same thing with the the chair there you get the the pole I don't have a laser pointer but I like right here it's soft and right there it's hard um these are these are techniques that we've developed they're delivered in in a form to a developer that they can just easily integrate them they can try them out if it's going to work for their game um and they have the extra benefit as as jeen mentioned is they are the highest performance implementation so just a little example of that if you take pcss or hbao um not only are they the highest quality implementations but they're the fastest Fest implementations so they're the fastest not only on Nvidia but we actually improve the performance of the alternative implementations even on AMD this is the kind of thing the game developers love because in the end they just want their game to be great right and if you give them a highest quality solution that improves their frame rate it either means the game can run on a a wider range of Hardware which is just good or they have more time or more CPU or GPU Cycles to put more effects in the game to make the game look great so these are just nothing but win-win for everybody great visuals great performance on every everyone any questions on that okay cool okay so the visual effects SDK so I kind of alluded to this a little bit before this is our library that kind of embodies a really complex Vis visual effects these tend to combine simulations and rendering animation and simulation and rendering um often times they involve non-traditional rendering techniques things like boxal or Ray marching or Ray TR tracing um much more complicated uh implementations we build these as kind of TurnKey solutions to solve those problems for developers so they don't have to do all that research and because we have the guys who are really the experts on how to do super fast GPU implementations we're able to kind of extract the absolute best performance out of some of these egge techniques that really other people can't afford to invest that time in I think most game developers would rather spend their time making a great looking game and making a great game and trying to solve you know Paralis and register pressure and cash sizes and all the super lowlevel nitty-gritty um some do but I think most just prefer the the kind of the convenience of taking a great effect and integrating it right in for games is direct light meaning a light source casts light on an object and illuminate illuminates that object but the light classically does it bounce the they the way the developer typically solves for that is they bake uh they pre-calculate glob illumination either using Optics or other techniques and they bake it into the um textures or the shaders the environment so that you have a an effect of global illumination the disadvantage to a technique like that is that it isn't Dynamic so when the world changes or when you destroy something or you're add a light source it's often difficult or impossible to have the updates to that indirect lighting happen so we've been working really hard on developing a super high performance library that allows real time Globe illumination the other benefit of realtime GI is that if you build your game around real-time Global illumination your artists don't have to spend so much time cheating one of the big Pains of game development is lighting and you have to you know be quite a sophisticated artist to get really good looking GI Global illumination effects without actually really having global illumination so they'll Place hundreds or thousands of lights in their scene because the lights don't bounce and so you have to do stuff like that whereas if you could Implement GI in real time it would just do the right thing light would bounce you get the indirect light you get the color bleeding um so what we built is a scalable architecture that enables that um and it's super high performance so let's take a look at what GI Works can do okay U so this uh what we're starting with here is direct Lighting in this scene only so direct lighting we have two lights in this scene there's one up here and one down here this blue one and uh and basically every all the lighting that's happens outside of these two cones is just a flat ambient term right so you can see it's very flat over here you don't see any detail in these arches and in these hallways um so let's let's go into the the direct lighting plus indirect lighting now which is um these lights were already there in the scene but you didn't see them because there was no balances happening as Tony explained um so now what you have is uh there's the the let's flip back and forth to to give you a good idea here these arches are a great example right there's no light falling on these arches directly from the light sources so what you need is indirect lighting which is light that bounces off of a surface and then lights another surface to get light to go into these areas and there's a number of really interesting effects that are that are enabled by this one is um since this is a completely real-time effect you actually get real-time specular or glossy Reflections uh which are entirely indirectly lit right this is just light that's falling on this surface from this emitter that's on that that these emitters are on these uh these little TVs uh in in in the hallway and um and as the in specular is notoriously hard because it's it's inherently Dynamic right because it's dependent on the viewer the ches based on where how your view angle changes so you see that the Speculator is done entirely correctly um other things we can do here is that we can have area light sources so these little uh these boxes that these Dino these dino bones are in are actually area light sources and so looking at the Triceratops here you can see that there's a a really really high quality ambient inclusion type effect and this is a notoriously difficult sort of shape to get real ambient inclusion on using screen space techniques you can see here that you have really great ambient inclusion um all sourced in real time from this area light source um and another thing you can do we can actually move these lights around so this is lower left what you're going to see is basically the the view from the lights perspective you can move move uh this light or you can move this other light as well um which is the blue light here and and one thing you'll get as you as you move around this light um you see the the cone of influence basically that the light has um but even things outside of this cone of influence like look at this Archway back here let me get out of this mode to get closer so you guys get a good look here um if you look at this Archway there's actually the the extense of the light ends right right at this at this boundary of the spotlight right so if I move this light you can see that the lighting is changing inside of that Arch even though no direct light is falling on on that surface so that's entirely because of the bounce that happens off of the floor the light bounces off the floor and hits the arch and uh and adds light there so yeah that's that's Global illumination so yeah I guess leave it up there for a second if you don't mind um so GI works is is a is a GI library that we're working on you'll start to see this integrated into games I think probably next year um the advantage to this is It's implementing a bunch of incredibly complex volume based lighting techniques to simulate all this bouncing of light that is necessary for the indirect lighting effect and it's fast you can it's possible to implement this on a GPU it runs across platform um the nice thing about it is that it's even possible to offer your game entirely with an indirect lighting approach which could which could be quite a breakthrough for the game development community so they wouldn't necessarily have to be placing hundreds or thousands of Lights to fake all of these indirect lights um you get some really nice effects out of it as Jen mentioned you get the the bounces you get the specular you get really accurate Reflections uh you get kind of a built-in ambient occlusion um kind of all just kind of falls out it's it's one of the beautiful things and I I think it's not I don't know if it's a theme but you we talked about a unified physics simulation where the the simulations can play with each other nicely one of the nice things about global elimination is it's um it's a uh a more elegant solution and then it solves a bunch of the fundamental problems of lighting and Shadow they all just kind of fall out of it it's computationally really complex the algorithms are really complex but the results are visually great and it solves a bunch of those fundamental problems and that's what we're really about you know kind of pushing the state-of-the-art visually and if we can not only make the result more beautiful but make the game developers lives easier and better so that's um so that's GI works that's one of the other technologies that we're announcing so um one of the other classically really difficult problems um in gaming has been really it has been nice fire and smoke classically this is done usually with I'll call it texture tricks it can be done with Sprites and billboards um it can be done U with a bunch of alpha Blended quads there's lots of ways to do this kinds of thing but the the challenge with pretty much all of the existing approaches is that they tend to not really be correct from a volume perspective um and again it's one of those things they don't really there there's always a side effect those things either there's you know a lot of overdraw which is really performance expensive or there's you got blending and sorting issues or things like that so we've worked on a solution we call flameworks what this is is a volum metric effect uh engine that allows for things like smoke and fire to be done essentially the same way they do it in film um except it's ultra high performance it be done in real time it's support shadowing you can emit light um and it uses a it's a multi-grid volume based solver to produce some really stunning effects so flameworks is kind of one of that that third as I alluded to three Technologies there's Flex there's GI works and there's flameworks so let's go ahead and kind of take a look at at what flameworks can do um and yet remember this is all kind of running in real time um and it's kind of one of those um volume based effects that solve some really complex problems so what what Jim's showing here is it it is actually a true volume there's no Sprites there's no layered quads there's no sneaky particle it's a it's a true volume based solution it's emitting as you can see it's shadowed it interacts with geometry because it's actually a simulation so the fire you know flows around the sphere and um kind of behaves the way you think it behaves this is the same type of effect and technique that they use in the film industry for doing things like smoke and fire I think that I can't wait to see this again so I think you'll see flameworks integrated into games starting next year as well in fact we've already started integrating this into core engines that's just I don't know that's just cool\n"