Gadgetory


All Cool Mind-blowing Gadgets You Love in One Place

Nvidia Gameworks, PhysX and FLEX showcase (Nvidia #TWIMTBP 2013) 2 of 3

2013-10-17
all right so game works game works is Nvidia's developer platform it's our way to push the limits of gaming on all the platforms that gamers care about Windows Android cloud you name it and there's three main pillars of the game works program three core pieces upon which this platform is built the first of course is the people we are lucky to have the world's best team focused on games and game technology the game works research team is about 300 people they are many of them PhDs world-class experts in their domain digital effects and artists engineers visual engineers and artists that are at the intersection of art and science these people have to develop algorithms and libraries and technology that produce amazing visuals and amazing gameplay at the same time having to solve four incredibly complex technical challenges and what all of that needs to have an artistic feel to it graphics is an incredibly difficult field and that it's science and engineering and art and people who have that skill set are really really rare and we have 300 of the world's best and we use those people to help game developers create those next various experiences we take a lot of that learning and we embody it in the game words library it is our collection of tools SDKs technologies outlook there's a large engines source code technology that we provide to game developers that they can use in the end right on to bring things in the next level and we're going to walk you through that in quite a bit of detail and you're going to hear about three new technologies that are part of the game works library and then of course in developer tools with the n-side IDE and standalone debuggers profilers and utilities we've got the world's best tool platform for doing graphics and native you're gonna see some demos so that's today including some new things there as well so you know we got we've got a lot of a lot of stuff to show you I don't wanna spend too much time talking cuz there's a whole bunch of great demos let's kind of get into it so what's in the game works libraries are six major components in the game where's library these are kind of the major sections that we deposit our knowledge into so that the industry can leverage that to advance it state of the art the visual effects SDK these are turnkey solutions to solve complex visual problems they are typically delivered as with an API the developers program - and these would be tools and technologies that are producing complex visual effects for you know as an example and we'll get to this wave works maybe an example of a visual effects SDK piece the graphics library is kind of some foundational material these are things like tutorials libraries samples documentation sample code things that are the fundamental building blocks of building a great game and graphics are repository kay you guys are familiar with we've been building that for quite a number of years that was originally part of idea we've integrated an idiom we continue to invest in that it's cross-platform it's the most popular physics engine on the planet more than 500 games have integrated it and it's little exists on any platform that game developer cares about from phones to consoles to pcs to cloud it's everywhere our core SDK includes a bunch of foundation technologies for using GeForce and other platforms I may have heard of things called like env si and things like that these live in our core SDK and these are things that can take specific advantage of NVIDIA platform features I mean let developers get kind of a the full benefit out of Nvidia in compute library is kind of analogous to the graphics library everything that the graphics library is for graphics the compute libraries for compute source code documentation tutorials you know the fundamental building blocks of understanding how computing and then optics optics is an sdk for building ray tracing engines it's a framework upon which developers can use to build their own renderers and create amazing visuals with them so let's kind of dive into one of these and this would be developer tools we have an enormous investment in developer tools you probably have heard of insight that's our IDE that's actually a screenshot that you see up there that's insight really the way to think about it is we cover all the major functions that a developer needs for graphics now and on other platforms even including CPU and graphics simultaneous debugging and profiling so we have an IDE and a standalone environment so you can build and say Visual Studio a common environment for builders to work in you can debug your code to make sure that the issues that you've written in you can figure out it right out profiling so you can get the most performance out of the game so this would be things like you know find vertex shader bound or fragment shader has you know extra cycles you can tune it down to the to the ends degree and this exists across all the major API platforms DirectX OpenGL ES CUDA Android Windows you name it we've got tools that cover all the major platforms and all the major api's both integrated and standalone tools so what you're going to see in fact is a demo that shows kind of the breadth of this so let's go ahead and go to the demo and what Sebastian's got running here is one of our visual effects SDK examples this is space works you guys have probably seen this before so this is our digital eye right here now what he's running here is face works running on a PC and he's going to be attaching inside to it to do some debugging and profiling so let's go ahead and hand it over to Sebastian here thank you so here I'm going to demonstrate to you basically how to peel a frame worth of rendering in the face works which is a technology dimmable for official rendering and animation so here basically by scrubbing through the frame using the head-up display I can essentially debug is you spray one vocal at a time and understand you know where things are happening and how they're happening so if I were to have a perk for example in my mind subsurface scattering shader here I can easily focus on it go into visual studio this is Visual Studio 2012 and easily basically dissect the retro space and the resources that are found to this particular local in order to to understand what's going on here as an example I can quickly focus on the frame buffer here bring basically the data for the front buffer and I can inspect the pixel value here by hovering my mouse over the various pixels and you will see basically the RGB value being updated in this section here where those are actually floating point values because it is HDR rendering for for the the subsurface scattering now what is interesting is that this particular solution is available on our next generation check out that form which is called Logan and we're going to switch to haven't seen it this is face works which is one of those core visual effects SDK libraries running on project Logan if you're not to newest project Logan that's one of our next-generation Tegra SOC s project Logan implements the full Kepler GPU architecture as well as a full support for OpenGL so this is face works running on a Logan dev kit which is in a break you can come check it out here it's a little tech or based SOC run to the single-digit lots and if space works running on Logan that's pretty cool Mogens pretty exciting cause it's really gonna share in kinda the next level so to speak for mobile technology has really it brings Kepler our core GeForce architecture to mobile and we can bring things like face works to mobile as well but this is not just a face works running on Logan demo if you want to develop next-generation graphics from old platform you actually need to have tools that work with them so how are we gonna deal with that Sebastian will propriety of solutions on Windows Linux and OS X to be able to a lot of developers to get connected to their Android device and do basically debugging all right so next piece is X so you guys are probably familiar with is X it's our physics SDK it's the most popular physics SDK on the planet it's used by hundreds of games more than 500 games ship with it simulation driven affects things like turbulence or rigid bodies some of the core mechanics that affect the gameplay it's integrated into pretty much all the major engines so unity and unreal engine for example some of the probably the two most successful or widely adopted engines their physics system the core physics system that drives Unreal Engine and unity is physics and you're gonna see some of that integration here in a second it's on pretty much every platform you've ever heard of every major console all the mobile platforms all the PC platforms it's on Linux it's on Mac it's it's everywhere we have physics everywhere and we have probably the best authoring tools for physics in fact I've actually had some some partners of ours want to switch to physics if for nothing else because our tools for doing authoring are really that great so it covers a wide variety of simulation domains things like destruction and fur clothing for rigid bodies GPU accelerated particles turbulence for simulation of fluid like effects of actual fluid simulations for things like waves and water or a wide range of effects we're going to show you you know a little example of that which is some of the physics effects that you're gonna see later today with Batman we're actually show you some of those are authored so what we're going to show you in fact is doing some turbulence authoring right inside of Unreal Engine right inside of the editor and this shows you how integrated physics is in the authoring pipeline for game developers so let's go ahead and switch over to gems demo here yes so as Tony said we're we have deep integration inside all the major engines including of course the Unreal Engine and what we're gonna show you here is that there's a simple level we've designed just to show off the effect when we have a little physics particle emitter on the ground here inside of this and we're gonna start with this simple scene where you've got these kind of boring particles they are actually there is a bit of physics going on here and that there's interactions but as you can see the actual what's happening in terms of actual physical effects here is just moving up at some constant velocity so it's kind of boring one of the things that we've integrated into a number of games including Batman is this thing we call turbulence which is a real fluid simulation there's a much richer and more interactive and interesting simulation that you can you can apply to its particles so what we have inside of the Unreal Engine and actually before I get in said I want to show that this particle system that I just talked about is actually inside of the it can actually be edited directly inside of the Unreal Engine so you can you can go in here for example you can open up these different parameters that we have and you can play with it say you want to change the colors of this of this of this physical simulation you can go in there and it let's make it really red you know do that and it actually changed some real time see you've added a red tint to it all right let's undo that and and show you some awesome circles effects I'm really doing this indigent Elsa okay so so so as we said let's make a conciliation a little richer so we can do is we can actually move this see this large great we have here it's actually a turbulence actor that you can place inside the scene and and and what you what that does is it actually applies an actual turbulence fluid simulation learning grid fluid simulation to the particles that enter it right so we have an emitter now emitting particles they're no forces in the scenes what we can do is that we can then had a jet to actually inject horses and then you can run it and as simple as that all of a sudden you've got a richer richer interaction now one thing that's missing though the rendering there's no shadows and there's no shadows within the smoke so so wouldn't that be cool so what we can do that this is also directly integrated inside of inside the Unreal Engine you can open up the perimeter the framers for the for the actual emitter say Casa pasady shadows which is this new technique we called PSM which is part of the the game works library which is a deep shadow mapping particle shadow mapping effect you can adjust some of these parameters because actually it turns out that this is this this grid is a little bit larger than the default parameters allow for so we can change these the parameters of the shadow map go right back into that in the into the engine level and now you've got real shadows and you can actually play with and get really interesting to reveal into facts just automatic and so all these things are built directly into the Unreal Engine and it's part of what we provide in physics SDK inside the gamers library that's pretty cool stuff so that the nice thing about that of course is that because they're integrated right into the core authoring pipeline of the engines those are GPU physics tools and capabilities that are just inherent in the way key builders can develop and you're starting to see that in that there's more and more games that are taking advantage of GPU physics we had quite a few games this year ship both here and that used GP of physics turbulence is one of my particular favorites because when we first envisioned turbulence we cut and vision it for these kinds of things smoke right you know kind of smoke effects and fog we've had developed or Cisco crazy do an amazing things with turbulence you know they they've invented disintegration rays and explosions and all sorts of really cool effects returns which we did and vision and that's that's really the best thing is when you've built some technology that allows the developers to kind of go crazy and get creative with it and do things that you never even thought of that's pretty cool now one of the challenges of course with with pretty much all physics simulation and really the history of physical simulation is that while you can build really cool simulation infrastructure for a wide variety of things you can do SPH for fluid you can do 3d volumes simulations for the things like smoke and turbulence you can do GRPs for rigid bodies a lot of times a lot of those core algorithms aren't as elegantly integrated as you might like and so combining some of those things can be sometimes complicated we've been you know working on that for quite a while and so one of the things we're now seeing today one of the new pieces of technology that is going to be integrated into physics next year it's called flex we're really excited about this because it's a unified GPU physics system really for the first time ever is going to provide a way for a wide variety of simulations effects to interact with each other unified solvers supports two-way coupling so that different simulations can influence each other a fluid simulation can influence rigid bodies and vice versa share collision detection between all of those that infrastructure and the great thing about this it turns out that this is unified architecture happens to also be incredibly great for parallel implementation for GPUs so it gets incredible benefit across parallel GPU architectures it's going to provide a really great building block to enable a huge new class of GPU accelerant physical effects and really complex cross simulation interaction so let's take a look at some of the things that flex can do it's pretty pretty crazy stuff so the first thing I'll say is you know this is technology it's gonna be integrated in physics sometimes next year so this is the we've shown it it's research and because it's research it's a little programmer RT but I think you'll agree that it doesn't pretty cool stuff so these are you know semi rigid bodies so you get kind of a bouncy balls and they interact with each other and they kind of squish and compress typical rigid bodies don't tend to do that so you get this kind of you know bouncy ball kind of effect so one of the nice properties about this is you can build shapes and objects that classically couldn't build with some of the other primitives you can build a flexible squishy things so I mentioned that we have the ability to combine in simulation infrastructure and they have to weigh coupling so what we're gonna do now is combine a rigid body simulation with a fluid simulation so you can see the rigid bodies they interact with each other they bounce into each other and collide now we're throwing of water in fluids the water displaces the rigid bodies the rigid bodies float around and splash around they continue to glide into each other and you can see this is super high performance is run super fast the water's fast the rigid bodies are fast and all the rigid bodies kind of do the right thing you know they collide they stack they move around they float they splash so this is this is kind of showing a couple of those effects right two different classes of classic physical simulation rigid bodies and fluids interact with each other in a truly seamless way these kinds of things are plastic ly hard to do but in the new flex system they're just it just all kind of work so if you can do rigid bodies and you can do fluid well let's see maybe you can do cloth so of course you can you cloth and you can fluid again just taking a lot of these classically separate simulation methodologies and allowing them to interact with each other and you kind of you get the right effect this is it just kind of works one of the really cool things about a lot of this stuff is because it's this unified system we were able to build all these things and like little just play an experiment we just try things out and you know it's just it just works the the interaction works out the way you think of well on the visual effects and the interplay between the simulations all playing nicely and they all play great on the GPU so this one's kind of fun this is uh we just kind of call the squishy frog this is a deformable classically doing rubber or deformable kinds of objects in geometry it's been pretty hard so this is a deformable object this is a you know a little frog guy you can you know move around he squishes he deforms he bends and it kind of all does the right thing so uh yeah that first sphere demo that you saw we first did that we thought that was pretty cool then we started playing out of water and then you know as usual what happens is you know we'll show it around and this time I was the guy to blame like you know what that's pretty cool but you know the first thing I think of when I think of spheres and then sea water actually is hey could we make water balloons anybody ever seen a real time water balloon simulation and like let's try so literally you know they whipped it up and it turns out that you can make our balloons it all just kind of works right so you've got blooms they're filled with water there's pressure they react you know they pop holes they leak they squirt you can just have the simulations work how you think they should work they bounce around each other depending on the hole that you pop sometimes they rip open sometimes it's quick it hurts your brain a lot it's hard that these are really complex problems and having a some core fundamental technology that can allow this level of cross simulation interplay and this level of realism is just it's pretty cool stuff pretty exciting stuff so I can't wait to see what folks are going to do with this next year pretty awesome so this is flex this is one of the first technologies we're announcing again come into physics next year
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.