AMD’s Answer To Nvidia’s GameWorks, GPUOpen Announced – Open Source Tools, Graphics Effects, Libraries And SDKs
As you read this AMD will have officially announced GPUOpen, a platform that delivers open source tools, graphics effects, libraries and SDKs. GPUOpen is AMD's initiative to offer developers support with a robust set of tools and resources to extract the most out of GPUs for both gaming and compute applications. It enables game developers to create more beautiful, complex and immersive game worlds. And facilitates the employment of the powerful parallel engines inside modern GPUs for computation. All under a cohesive and easily accessible open source umbrella.
We've detailed what GPUOpen is and what exactly AMD is offering with this new program to developers globally in a separate article which you can find here. In this article we're going to talk more about what this program means to you as a developer or a PC gamer and how it may represent the crucial step that the PC gaming industry has been missing to drive innovation in a way that benefits everyone involved and move the entire industry forward.
Both Sides Of The Coin, Nvidia's & AMD's Industry Catalysts
To really understand what GPUOpen is and why it matters we have to go back to a program called GameWorks that Nvidia introduced a while back.
What GameWorks Is And Why It Exists
GameWorks is a developer program set-up by Nvidia to provide game developers with a collection of graphics libraries and tools aimed at improving the visual quality of games. It includes technologies such as PhysX - Nvidia’s proprietary physics engine - as well as VisualFX which encompasses a number of Nvidia optimized rendering techniques and in-game visual effects. These include things like shadows, anti-aliasing, depth of field, global illumination, hair simulation, ambient occlusion, lighting and other effects.
Below you will find the VisualFX solutions as listed on Nvidia’s website.
VisualFX provides solutions for rendering and effects including:
- HBAO+ Enhanced Horizon Based Ambient Occlusion
- TXAA Temporal Anti-aliasing
- Soft Shadows Improves on PCSS to reach new levels of quality and performance, with the ability to render cascaded shadow maps
- Depth of Field Combination of diffusion based DOF and a fixed cost constant size bokeh effect
- FaceWorks Library for implementing high-quality skin and eye shading
- WaveWorks Cinematic-quality ocean simulation for interactive applications
- HairWorks Enabling simulation and rendering of fur, hair and anything with fibers
- GI Works Adding Global Illumination greatly improves the realism of the rendered image
- Turbulence High definition smoke and fog with physical interaction as well as supernatural effects
Nvidia told us about several motivations which formed the primary driving force behind the development of the GameWorks program. For starters the program would allow the company to both widen its scope of reach and speed up the adoption rate of its technologies. The company had grown frustrated from how slowly things moved and it had to accelerate the turnover of its investment in this field. Faster and wider adoption means that more games can leverage more of Nvidia’s tech. This in turn translates to the creation of more games where the company can positively influence the visuals to offer users of its latest GeForce products a better experience.
This in turn gives Nvidia a more authoritative say in how the feature runs and looks in the game, after all it is its intellectual property and perhaps more importantly it gives the company a competitive advantage by which it can justify its investment.
By offering developers the convenience of an easy to integrate dynamically linked library – essentially a middleware solution - that’s already optimized for Nvidia’s hardware, it can cut back tremendously on the development time and allow game developers to dedicate their resources to focus on other areas in their games.
it's still important to note that the initial introduction of GameWorks as a middleware solution was a subject of staunch criticism by the PC gaming community and numerous big names in the game development world, some of which went as far as to label GameWorks an "unusable blackbox". Several issues were brought up around licensing, accessibility to source code and the developer's ability to optimize for different, competing, hardware.
Nvidia has since made changes to its policies in response to requests from the game development community. We published a four thousand word in-depth investigative report about GameWorks earlier this year that I'd urge you to check out if you're interested in understanding both Nvidia & AMD sides of the GameWorks story.
However in the end there were several issues rooted in the principle that were simply insurmountable. One hardware vendor providing a proprietary middleware solution which influences the visuals and performance of the game developer's product as well as competing hardware was always going to result in some form of bias even if unintentional and that's where GPUOpen comes in.
GPUOpen A Comprehensive Open Source Solution
GPUOpen delivers a comprehensive approach to improving both gaming and compute in an industry wide approach that not only serves the Windows and DirectX ecosystem but also extends these benefits to Linux. All accessible from the GPUOpen portal on GitHub.
It's important to talk about what open source means in this context because it's been a subject that had come under a lot of scrutiny in the past.
For example back in 2013 AMD introduced TressFX Hair which is the first hair physics and simulation technology of its kind to be implemented into a game. TressFX Hair as well as almost all of the visual effects developed by AMD are made available publicly for anyone to download and use on AMD's developer website under a non-exclusive, non-transferable, royalty-free, limited copyright license.
Because these features are not packaged as a middleware solution they are integrated directly into games, so developers have full access to the source code to work with it and adjust it as they see fit. And this included a variety of effects such as soft shadows, high definition ambient occlusion, various techniques for anti aliasing, hair simulation global illumination and other effects.
GPUOpen takes one step further for the sake of openness and adopts a model and a license that's even more lenient. The license in question is MIT’s open source license where everything can be used without restriction. Not only that but it also allows the assets to be altered, or improved and then sold for profit by any entity. This in turn gives a myriad of incentives to all kinds of independent developers, larger studios and even visual computing companies to actively participate in the initiative
In many ways then GPUOpen tries to address the same industry challenges as GameWorks, but does so in a more cohesive and collaborative effort that allows the industry to move forward as a whole and where small contributions can come together to create something more effective, more exciting and more impactful than what each individual company can ever hope to achieve on its own.
AMD is launching the GPUOpen platform this January with variety of effects, tools and SDKs planned, including : TressFX 3.0, GeometryFX, AOFX -- Ambient Occlusion--, ShadowFX, LiquidVR SDK, DirectX 11 and 12 code samples, compute tools, and several other SDKs.