NVIDIA makes source code for select GameWorks libraries available to developers via GitHub

"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."
Tony not passing his drug test this month :)

Code:
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.

Where is this going ?
 
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.
 
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.

Possibly. No matter the reason this is a good thing. Hopefully it will allow developers and AMD to optimize Gameworks features better and allow the masses of the internet to go through the code with a fine-toothed comb to find out just what in there causes the big performance hits.
 
Here is the FaceWorks license from GitHub:

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.

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.
 
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.

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
 
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.
 
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.
 
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.

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.
 
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.

is not only that, but I think the real goal is to keep interest in PC gaming development instead of just port everything without add any special PC feature, both AMD and Nvidia what really want is to make PC more profitable to devs so they can really invest more time and resources working for it. that's the goal of make those libraries, if devs can save money and time by making use of those libraries to make games better looking then they will use it, they are saving months of develop time which is directly related to money. that's the real goal in my opinion, keep interest in the PC gaming community, if not then what would be the goal of make our expensive machines?. what would be the goal to buy new GPUs every year?. they want us to keep buying GPUs so they can keep making money and their way to do that right now is keep developers also focused in the PC market.
 
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.
 
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.

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 :p 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.
 
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

I didn't even see any "object code" in the FaceWorks repo. I didn't look at the others though.
 
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 :p 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.
 
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.

For which ever they have opened.

Err no the license states that when a developer makes changes to the code they have the right to

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."

Yes only gameworks library source code that has been purchased and not have been opened, that source code can't be shown to another party unless they too have a license agreement with nV. So a developer still can't show the code to AMD for some of these libraries but they themselves can do any optimizations they want to with the AMD path. I would hope that a dev that buys the source code knows what they are doing anyways, otherwise there is no use of buying the source. They can how ever tell AMD what algorithms they will be using and and AMD can tell them the best way to proceed on how to use those algorithms.

Just ask any software cracker how they crack DRM, they don't need the source code to do it and this is with compiled software, there is no such thing as a black box when the hardware you make you have access to everything since the drivers have to be compiled for your hardware at runtime (shaders). It will take longer to optimize yes, but it can be done.
 
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? You think this is limited to gameworks titles, or it seems to be going back to the days of 3DO where that publisher made some cool games but users had to wait months for proper bug fixes to take place.
 
Poor AMD will now have to find another excuse

This is a joke right ? You saw Tony Tamasi statement , that means that they did a 180 on their stance of their blackbox policy complete with severe penalties if their NDA was broken..
 
colour me ignorant, but what fiasco are you talking about?

DX12 path all fucked up BSODing on AMD hardware, async compute broken on Fiji..... This was the path that AMD put into Hitman right? Didn't they say Async shaders done right? On not done right the best implementation.
 
From the non-head-in-the-sand folks: how is this *not* a good thing? Developers (hopefully) can adopt some new, cool effects, and/or need spend less time on graphics engine development (acknowledging this is but one part of so much that goes on) a little easier moving forward. NVidia folk keep on getting what they're getting as assuredly the effects are going to be nicely fit to their hardware (as present with DX11). AMD either gets access to (easier, which means actually done?) hardware-specific optimization or mitigation (tessellation heavy stuff hurts AMD real good right now), or at least has to stop complaining about how Gameworks eats their hardware. :p

More of these factory effect libraries (if they're good) open source, the better. Not being wary of NVidia at all, but wondering if there's some sort of gotcha I'm missing which makes this sound much better than it really is.

(Enthusiast of better gaming, no matter who brings it forward)
 
I don't trust things where one IHV controls the translator. Never have; never will.

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.
 
Last edited:
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.
 
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.
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.
 
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.

Yes that is my point isn't kinda of ridiculous, when you can turn off said features if you don't like them to generalize them as "evil" Thank you for showing the error of thinking that way.

Open standards don't improve everything. I think there are multiple discussions on this forum about that. Same thing with propriety software, there are pros and cons of both.

3d party code is never your code. Have you read any 3d engine contracts or 3d party libraries that are not GNU or similiar? If you change code in an engine like UE4, Cry engine, or any of them it isn't the developers code. The game code is, but nothing else is and has to be given back to that licensee. This is NORMAL in license agreements when IP is concerned. This is how the licensee protects and if they feel that the changes to the IP is important to them, they too can incorporate it into their product.

Then tell me why AMD's async DX12 path is screwed up on their hardware? Come on, you think this is gameworks specific, HELL NO. problems like this happen because the developer wasn't careful. Its on their had as is the integration of such products or taking help from an IHV.

Hairworks, with a simple over ride with tessellation factors help AMD hardware. So if you still don't like that you can turn of haiworks on all applications that have it so far, or at least I know of. Is that something you can't do?

What does VR or HDR monitors have to do with this. Has there been any black box for VR or HDR monitors?
 
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.

Yes that is the point when a statement that is ridiculous to begin with, it shows to light when its exponential pulled out that is the point.
 
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. Now is its AMD's inability to create a compelling graphics 3d party library that would complement their cards in a meaningful way in a timely fashion where developers could use to increase their bottomline by end results and drop development costs? Or is this a problem with nV not giving the time for AMD to create something? Is it nV's issue if AMD can't compete with them on this front? This is business, nV is doing what it has to do to gain money, marketshare, mindshare etc. If AMD can't do these things as effectively its not Gameworks, or nV's fault, especially when those features can be turned off on everyone's cards if one wishes. Its not like its being shoved on to us, if we don't like something we just turn them off.

Also the reason whey Windows is so popular is not because they talk to IHV's lol, it was because Linux and acutally Unix was harder to use all those years ago.

Microsoft made a deal with IBM to use MS dos on all systems sold. That cornered the market. Then when the software companies started to make MS dos only software because of its popularity since IBM PC's sold so well. It was over. MS cornered the market. This was well before MS's involvement with graphics card IHV's, this was before graphics cards, sound cards, etc were ever there.
 
Last edited:
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.

It took one development cycle from TressFX to Purehair - normal cycle. And it is superior. Hairworks would not have worked on the consoles and would be inferior in quality to begin with. Now PureHair can be used in a multiple number of games from Crystal Dynamics and Eidos games without waiting for Nvidia to approve software changes and taking the improvements as their own, can be improved upon per game and hardware choice without paying for license fees, can be sold as well as a library of their own :). Really for a competent developer doing the work will pay off more.

I wonder how much time has to spent trying to make the GameWork libraries work and how many patches and effort needed to get it all working after a release? GameWorks just has a very poor track record - hence the change with Nvidia.
 
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)
 
It makes me giggle to think that "Hair" physics is what the argument has boiled down too. Look if some developer wants to pay and offer preference for Team Green or Team Red then that should be up to them. However .. in doing so they should also suffer the backlash from either team if they choose to optimize for one or the other. We all agree that hardware vendor specific features are bad for this two horse race right? But at the same time if both homogenized then it would become a bit difficult for them to capitalize on any features for the market. These are corporations who make products for money and they don't give a fuck about anything else. It should be more clear cut and Direct X 12 is the right path for sure but thanks to Nvidia actually putting out highly competitive hardware AMD is actually stepping up their game in turn. AMD is offering much better driver support than it has in ages and offering more competitively priced products and this is because of Nvidia being more aggressive with driver updates and added performance benefits (through Gimpworks or however you wish to phrase it). We want these two companies butting heads frankly. It's good for consumers to have competition but its a problem when one vendor is getting more exclusive usage and that's what we are currently riding through with Nvidia. Frankly I'm tired of Nvidia being a head , I want AMD to have a good cycle for once.

Reminds me a lot the CPU desktop market. Intel is really the best game in town and that's absolute. AMD offers good performance vs the dollar but ultimately Intel is in a far more advanced and comprehensive place and aggressively controls the CPU market because of that. I don't want AMD to end up being a true second fiddle in the GPU market as well. And this is coming from someone that is a Nvidia fanboy (just a touch).

Bring on Direct X 12 baby.
 
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.

Pure hair it's just tressfx3.0 that's all.. why is better?not because eidos decided to make it better is just because Tressfx3.0 is already far better than the original tressfx 1.0 used in the tomb raider reboot.. and then, you may remember the huge impact it presented in both vendors.

Also, Originally tressfx was also unable to run in consoles, was the extra power of the newer consoles Gen that permitted the devs enable tressfx in tomb raider in the enhanced edition.

Most people don't know but every unreal engine game in the market use physx as physics engine in consoles but just thats driven by CPU, just as one example .. the Witcher 3 utilize physx in consoles for environmental physics and even for the dynamic hair.. so,because isn't mentioned doesn't mean they are using it.
 
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)

Thanks for the correction.

So code you write you have to give to Nvidia, even if you have your own proprietary work involved with updating Nvidia code?
 
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.

That would be great. Now who's going to pay for it?
 
Back
Top