Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Tony not passing his drug test this month"It's our passion for gaming that drives us to tackle the technical problems presented by real-time rendering and simulation," said Tony Tamasi, senior vice president of content and technology at NVIDIA. "Our GameWorks technologies push the boundaries of what's possible in real time, enabling developers to ship their games with state of the art special effects and simulations."
The three new GameWorks rendering techniques for lighting and shadows include:
NVIDIA Volumetric Lighting - an advanced lighting technique that simulates how light behaves as it scatters through the air and atmosphere. NVIDIA Volumetric Lighting was first introduced in the hit video game Fallout 4.
NVIDIA Hybrid Frustum Traced Shadows (HFTS) - an algorithm for drawing high-fidelity shadows that transition smoothly from hard shadows near the occluding object, to proper soft shadows in regions farther away. HFTS debuted in the hit video game Tom Clancy's The Division.
NVIDIA Voxel Accelerated Ambient Occlusion (VXAO) - NVIDIA's highest quality algorithm for real-time ambient occlusion, VXAO is a shading technique that adds depth and realism to any scene. It surpasses older techniques by calculating shadows in world-space using all scene geometry, as opposed to screen space techniques that can only shadow from geometry visible to the camera. VXAO debuted in the hit video game Rise of the Tomb Raider.
The pair of extensions to the NVIDIA® PhysX® library include:
NVIDIA PhysX-GRB - a new implementation of NVIDIA's popular PhysX rigid body dynamics SDK, which has been used in hundreds of games. This hybrid CPU/GPU physics pipeline improves performance by a factor of up to 6X for moderate to heavy simulation loads.
NVIDIA Flow - a computational fluid dynamics algorithm that simulates and renders combustible fluids such as fire and smoke. Unlike previous methods, Flow isn't limited to simulation of the fluids inside a bounding box.
NVIDIA makes source code for select GameWorks libraries available to developers via GitHub. Source code for NVIDIA Volumetric Lighting and NVIDIA's FaceWorks demo is available today. Source code for NVIDIA HairWorks, NVIDIA HBAO+ and NVIDIA WaveWorks will be available soon.
I'd naively assume they are doing this now because of DX12, rather than depreciate the DX10/DX11-only closed-source Gameworks libraries they've developed. With source code available, it likely opens the door for DX11 Gameworks stuff being re-implemented by devs in DX12 if they desire.
Copyright 2014-2016 NVIDIA Corporation
BY DOWNLOADING THE SOFTWARE AND OTHER AVAILABLE MATERIALS, YOU ("DEVELOPER") AGREE TO BE BOUND BY THE FOLLOWING TERMS AND CONDITIONS
The materials available for download to Developers may include software in both sample source ("Source Code") and object code ("Object Code") versions, documentation ("Documentation"), certain art work ("Art Assets") and other materials (collectively, these materials referred to herein as "Materials"). Except as expressly indicated herein, all terms and conditions of this Agreement apply to all of the Materials.
Except as expressly set forth herein, NVIDIA owns all of the Materials and makes them available to Developer only under the terms and conditions set forth in this Agreement.
License: Subject to the terms of this Agreement, NVIDIA hereby grants to Developer a royalty-free, non-exclusive license to possess and to use the Materials. The following terms apply to the specified type of Material:
Source Code: Developer shall have the right to modify and create derivative works with the Source Code. Developer shall own any derivative works ("Derivatives") it creates to the Source Code, provided that Developer uses the Materials in accordance with the terms of this Agreement. Developer may distribute the Derivatives, provided that all NVIDIA copyright notices and trademarks are used properly and the Derivatives include the following statement: "This software contains source code provided by NVIDIA Corporation."
Object Code: Developer agrees not to disassemble, decompile or reverse engineer the Object Code versions of any of the Materials. Developer acknowledges that certain of the Materials provided in Object Code version may contain third party components that may be subject to restrictions, and expressly agrees not to attempt to modify or distribute such Materials without first receiving consent from NVIDIA.
Art Assets: Developer shall have the right to modify and create Derivatives of the Art Assets, but may not distribute any of the Art Assets or Derivatives created therefrom without NVIDIA’s prior written consent.
Government End Users: If you are acquiring the Software on behalf of any unit or agency of the United States Government, the following provisions apply. The Government agrees the Software and documentation were developed at private expense and are provided with “RESTRICTED RIGHTS”. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (Oct 1988), FAR 12.212(a)(1995), FAR 52.227-19, (June 1987) or FAR 52.227-14(ALT III) (June 1987),as amended from time to time. In the event that this License, or any part thereof, is deemed inconsistent with the minimum rights identified in the Restricted Rights provisions, the minimum rights shall prevail. No Other License. No rights or licenses are granted by NVIDIA under this License, expressly or by implication, with respect to any proprietary information or patent, copyright, trade secret or other intellectual property right owned or controlled by NVIDIA, except as expressly provided in this License. Term: This License is effective until terminated. NVIDIA may terminate this Agreement (and with it, all of Developer’s right to the Materials) immediately upon written notice (which may include email) to Developer, with or without cause.
Support: NVIDIA has no obligation to support or to continue providing or updating any of the Materials.
No Warranty: THE SOFTWARE AND ANY OTHER MATERIALS PROVIDED BY NVIDIA TO DEVELOPER HEREUNDER ARE PROVIDED "AS IS." NVIDIA DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
LIMITATION OF LIABILITY: NVIDIA SHALL NOT BE LIABLE TO DEVELOPER, DEVELOPER’S CUSTOMERS, OR ANY OTHER PERSON OR ENTITY CLAIMING THROUGH OR UNDER DEVELOPER FOR ANY LOSS OF PROFITS, INCOME, SAVINGS, OR ANY OTHER CONSEQUENTIAL, INCIDENTAL, SPECIAL, PUNITIVE, DIRECT OR INDIRECT DAMAGES (WHETHER IN AN ACTION IN CONTRACT, TORT OR BASED ON A WARRANTY), EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. IN NO EVENT SHALL NVIDIA’S AGGREGATE LIABILITY TO DEVELOPER OR ANY OTHER PERSON OR ENTITY CLAIMING THROUGH OR UNDER DEVELOPER EXCEED THE AMOUNT OF MONEY ACTUALLY PAID BY DEVELOPER TO NVIDIA FOR THE SOFTWARE OR ANY OTHER MATERIALS.
// Copyright (c) 2014-2016, NVIDIA CORPORATION. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// * Neither the name of NVIDIA CORPORATION nor the names of its
// contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Here is the FaceWorks license from GitHub:
Code:// Copyright (c) 2014-2016, NVIDIA CORPORATION. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. // * Neither the name of NVIDIA CORPORATION nor the names of its // contributors may be used to endorse or promote products derived // from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
I hope gimpworks dies a long painfull death now that dx12 is here
Why?. because it mean a performance hit on both vendors? I really like what Nvidia is doing and I hope to see more GameWorks games as I really like a some of the effects used, as everything with the time with more powerful cards in the market this kind of performance hit will be a joke but the effects will still be there... but graphic effects should be pushed forward one way or another, what it take a big performance penalty right now, in the future may not be the same but what's better is that TODAY we have the tech to push and use those effects. ok not everyone have a 980TI? a TitanX? not issue, is easy to just turn off the features.
Ya know, it would be nice if things like Gameworks didn't have to exist. Sadly game developers don't seem interested in developing new features and we need Nvidia and AMD to do it for them.
I hope gimpworks dies a long painfull death now that dx12 is here
That's not it. AMD and NVIDIA both have a vested interest in developing new graphical features for developers. Libraries are a natural part of software development, and game development is just a branch of that. If you develop any sizable piece of software from scratch, without using any libraries, the amount of time and resources needed would be several times more than if you're allowed to use libraries.
By creating libraries that are tempting and useful, AMD and NVIDIA are hoping to create a connection with devs who'd like to use them, and then expand on that connection. The more connections they make, the more hits they can associate their brands on.
Why?. because it mean a performance hit on both vendors? I really like what Nvidia is doing and I hope to see more GameWorks games as I really like a some of the effects used, as everything with the time with more powerful cards in the market this kind of performance hit will be a joke but the effects will still be there... but graphic effects should be pushed forward one way or another, what it take a big performance penalty right now, in the future may not be the same but what's better is that TODAY we have the tech to push and use those effects. ok not everyone have a 980TI? a TitanX? not issue, is easy to just turn off the features.
The main knock against GameWorks was that it included a Black Box translator that communicated to Nvidia GPUs and AMD GPUs. Does Nvidia still handle the translation? Or is it finally open so that anyone can view what's happening? I'm all for effects that stress a system. I'm completely against one company handling the performance potential of other vendors. I remember the Intel compiler days still. They weren't that long ago in middle age man years.
And I'm not calling for Nvidia to divulge their CUDA secrets. Just wondering if the entire pipeline is open from sea to shining sea.
sooo, far from being open.. anything you want to make changes to the object code NEEDS to go to NV for approval ?
I guess they HAD to do something to get PR headlines given that RTG has been racking up the score as of late (DX12, OpenGPU, VR etc), nV's attempt is more like a "hey look what we did too".. too little too late
There are a couple of concerns here. Just because a developer pays for the license does not guarantee optimizations on AMD. Rather, the argument has been that AMD is far better at optimizing for their own hardware, done with Drivers, a Game dev will not likely warrant the same quality in that regard as the vendor. Nvidia can with ease, being their code. AMD up to this point had zero access.I'll tell you, the thing really with GameWorks is the fact that those libraries are pre-optimized for Nvidia cards in the FREE SDK, the free GameWorks SDK License is absolutely Locked Nvidia provide it free to any developer who want to use it in a desired game, and exist the PAID GameWorks SDK License, in that case the developer have it open to see, modify and optimize each DLL which again is already pre-optimized for Nvidia, they devs have then the possibility to optimize it for AMD, for Intel, For whatever they want, the Paid License include some Nvidia engineers to help'em in the integration process but just that, only integration they will have no effect in any other optimization, any optimization will be made by the dev, is in the developer hands spend some resources in also optimize it for AMD.
Do every game that doesn't work properly for AMD as people want to think by "GimpWorks" are for two reasons, the first one, the dev wanted to save time or money (or both as both are directly related) and just used the Free GameWorks SDK license, or just had the money to purchase the GameWorks License and never wanted to optimized it for AMD. but the source were basically always "open" for the right amount of money.
now? yes, they want to make GameWorks fully open so AMD can also optimize in their hands GameWorks features.
There are a couple of concerns here. Just because a developer pays for the license does not guarantee optimizations on AMD. Rather, the argument has been that AMD is far better at optimizing for their own hardware, done with Drivers, a Game dev will not likely warrant the same quality in that regard as the vendor. Nvidia can with ease, being their code. AMD up to this point had zero access.
Second "open for the right amount of money" is not open at all. end point 2.
I am still not certain this is entirely open. The code cant be changed unless ok'ed by Nvidia, so not open there. It may help AMD with driver optimizations being they can see the code now with these. But again not open.
Source Code: Developer shall have the right to modify and create derivative works with the Source Code. Developer shall own any derivative works ("Derivatives") it creates to the Source Code, provided that Developer uses the Materials in accordance with the terms of this Agreement. Developer may distribute the Derivatives, provided that all NVIDIA copyright notices and trademarks are used properly and the Derivatives include the following statement: "This software contains source code provided by NVIDIA Corporation."
I hope gimpworks dies a long painfull death now that dx12 is here
Why would it? What do you think about Hitman's Dx12 fiasco?
Poor AMD will now have to find another excuse
colour me ignorant, but what fiasco are you talking about?
I hope gimpworks dies a long painfull death now that dx12 is here
I don't trust things where one IHV controls the translator. Never have; never will.
Going a little far there aren't you? I think he only means as far as engines/code/lib... and whatnot. But more so I believe it is more about not having alternatives. Ok turn off the GW in games is a solution to fps impacting effects, but it doesn't have alternatives all of the time. Sometimes there are others as in the case AO, but not in other cases as in Hairworks. Personally I would like to see either a more agnostic approach or see the time taken to ensure both sides get equivalent effects where needed because of the negative impact.The Dev's have control, and the users do to you can turn off the effects if you don't want to use them. I can understand what you stated if you stated that these features couldn't be turned off..... but with a statement like that this is what follows.
If you feel that way, then any microcode by any manufacturer you will have issues with. You will have issues with all shader compilers too? Do you have issue with the drivers you use for your hardware? Maybe you want game developers to create their own drivers too?
Why are you using the WIndows OS then? Why don't you use an open source OS and only that?
Why do you use any none open source software than? Are you an Adobe user? maybe you should switch to Gimp?
How about your cell phone? Android or Apple? maybe you should ask them to give you the ability to load an open source os for your cell phone, if they even exist for it.
hell lets take it a step more, if you don't trust them, why not make your own stuff, it will solve your problem entirely, then you don't even need to worry about the developer as a middle man either.
Why not just have Nvidia only games and AMD only games? Hell let the Dell PC, HP PC etc. use proprietary hardware too so only certain video cards configured a certain way will work. Every PC machine will be like Apple.
Anyways open standards for gaming gives a broader audience for developers or game makers to sell to. Black box game code is crap for someone trying to make games for a broad base of hardware - a.k.a Intel GPU which is now at point of being a low end game machine.
Nvidia requires you, after spending maybe weeks to month to refine their code - it will never be yours - for them to OK it or NOT! Then it becomes theirs, right! Sign me up for that.
Case in point, Far Cry Primal - man does it run great out of the gate - on all hardware. Wait - no GameWorks Crap involved.
GameWorks and DX12 libraries - when will Nvidia release those? I am sure they will take advantage of Async Compute - right.
It is not even that all of GameWorks really improves everything - Hairworks is a joke in quality and in the performance hit it gives even to Nvidia's best efforts to optimize it only to their hardware.
The shift to VR and getting the rendering down so it doesn't make people sick or as sick, getting HDR right for HDR monitors will make any black box code obsolete and should be buried in it's own black box.
Going a little far there aren't you? I think he only means as far as engines/code/lib... and whatnot. But more so I believe it is more about not having alternatives. Ok turn off the GW in games is a solution to fps impacting effects, but it doesn't have alternatives all of the time. Sometimes there are others as in the case AO, but not in other cases as in Hairworks. Personally I would like to see either a more agnostic approach or see the time taken to ensure both sides get equivalent effects where needed because of the negative impact.
Fortunately this year seems a bit more kind to both sides, sans async. But as I saw in another forum there is a growing argument against these rehashed implementations such as in AO and how it is and has been far to performance crushing when other alternatives should be researched.
Look at Purehair - a derivative from TressFX. AMD open code was used to make a utterly better implementation which turned out beautifully and even works on consoles. Without that freedom it would be like Hairworks with only the select few would be able to use (maybe not even enjoy, in Hairworks case). I am sure the developer is proud of that achievement vice using a can library that works only half ass on one vendors hardware.
The reason why Windows dominates the PC space was that it was open to all hardware x86/64 and more now, Microsoft takes input from any hardware vendor, refines their code to make it work so the operating system is more agnostic to the hardware. Developed DX so graphics card makers and developers can use the API to make games that will work mostly on all capable hardware configurations. Microsoft just supported the hardware/software better than Linux, if Linux did a better job in the past we would be using Linux predominately today. Except yesterday Linux stance "All software should be free" regardless how many hours, weeks, months or years you put into it probably kept it from having the best software.
And how many years did it take Purehair to come out? How long has hairworks been pretty much untouchable. Even tress fx was very late to the game. And yeah one of the cons to open source projects is time to market.
Look at Purehair - a derivative from TressFX. AMD open code was used to make a utterly better implementation which turned out beautifully and even works on consoles. Without that freedom it would be like Hairworks with only the select few would be able to use (maybe not even enjoy, in Hairworks case). I am sure the developer is proud of that achievement vice using a can library that works only half ass on one vendors hardware.
Purehair was launched in 2016, TressFX was launched end of 2014 (2.0), Developers were using Hairworks early 2013. tress fx 1.0 was being used by developers in early 2014, but only one game came out.
NV doesn't need to approve changes, you didn't read the license, the developer can change the code, there is no approval process for the developers side of things what they have to do is send that code back to nV and its up to nV if they want incorporate the code into their own libraries to distribute (for the libs they haven't opened)
But more so I believe it is more about not having alternatives. Ok turn off the GW in games is a solution to fps impacting effects, but it doesn't have alternatives all of the time. Sometimes there are others as in the case AO, but not in other cases as in Hairworks. Personally I would like to see either a more agnostic approach or see the time taken to ensure both sides get equivalent effects where needed because of the negative impact.
You do when you pay for the game. Devs aren't non-profit.That would be great. Now who's going to pay for it?