Nvidia’s bet on ray tracing as a primary selling feature of its newest, most cutting edge line of graphics cards seemed, in the summer of 2018, to be exceedingly premature. The cards were expensive, their performance improvements over their predecessors more limited than the PC enthusiast set were expecting with existing PC releases, and games taking advantage of the new technology Nvidia CEO Jensen Huang claimed would revolutionize game visuals were still months away.
A little more than six months later, at the 2019 Game Developer’s Conference, Nvidia’s bet seems to be paying off. Every major game development platform, from Unity and Epic’s Unreal to Crytek’s CryEngine and mega-publisher Electronic Arts’ internal toolset Frostbite has announced support for the tech. Moreover, bespoke engines behind games like “Max Payne,” “Quantum Break,” and “Alan Wake” developer Remedy’s “Control” are also getting behind the technology in a big way.
It’s not a particular exaggeration to say that ray-tracing is one of the stars of this year’s GDC, and Nvidia is, by virtue of its aggressive push, standing at the forefront of it.
Popular on Variety
This was apparent at Nvidia’s presentation at this year’s GDC, which debuted the aforementioned footage of “Control” in all of its ray-traced glory, and also emphasized the leadership of the GPU maker with its 20 series line of video cards. But there were other announcements that signified Nvidia’s attempts to lead and steer the conversation.
One of the most exciting is possibly the most likely to go under the radar: Nvidia has worked with the organization behind the open source graphics development platform Vulkan to facilitate the painless migration of any game utilizing Vulkan’s tools on Windows to the Linux platform, with no needed adaptation or changes from developers — other than supporting Vulkan in the first place. At Nvidia’s booth on the GDC show floor, the company featured a version of “Wolfenstein II: The New Colossus” running on Linux via these new tools. This was a Windows version of “Wolfenstein II” run through Vulkan’s tools, playing essentially without a hitch.
This toolset is likely due in large part to Google’s use of Vulkan and Linux for their just-announced Stadia platform, which runs on those platforms via custom-built AMD servers. However, Nvidia’s install-base advantage and aggressive developer outreach program will be critical for any potential wider adoption of Vulkan’s Linux strategy beyond Google’s Stadia — and could, in fact, be an important factor in games arriving on Stadia.
A key component of Nvidia’s Vulkan integration is the use of variable rate shading, another buzzword at this year’s GDC and a feature currently exclusive to Nvidia’s 20 series cards. With variable rate shading, developers can dynamically adjust the fidelity — and thus, resources required — for various components of a game’s visual makeup on the fly. This largely maintains image quality while freeing up resources to ensure the game runs consistently.
Variable rate shading is likely to be a topic of intense focus as developers approach the next generation, but it will, according to Justin Walker, director of product management at Nvidia Geforce, remain limited to the 20 series GPUs, unlike ray tracing, which Nvidia announced earlier this month will be expanding to previous generation Nvidia hardware.
The timing of this announcement somewhat deflated its perceived importance at GDC, but Nvidia is serious about expanding access to ray tracing features to more of its install base. According to Walker, this is partly due to developer enthusiasm for ray tracing implementations in their games. “Developers have been waiting for this for a long time,” Walker said. “It’s really just the right way to do things,” regardless of the currently minimal install base of ray tracing ready PCs in the wild in the first half of 2019. But for developers to justify fully embracing ray traced visuals in their games, the barrier to entry must be reduced. According to Nvidia, existing Nvidia GPUs from the 10 series of cards are already reasonably well optimized to the task of ray tracing, but users will need to turn those settings down for reasonable in-game performance.
Ray tracing’s particular demands on hardware mean that for now, dedicated hardware is the only really efficient means of providing high-performance results with the new technology.
This was demonstrated in part by a project that functions both as a proof of concept and a technical curiosity. Id’s “Quake 2” originally released in 1997 for PCs, and has long since gone open source for homebrew developers and academics to tinker with and convert as they like, which has proven fertile ground for experiments with raytraced visuals. A former Nvidia intern and Ph.D. student at Karlsruhe Institute of Technology in Germany, Christoph Schied, created “Q2VKPT,” a version of “Quake 2” utilizing a form of ray tracing that dramatically changes the appearance and fidelity of the 1997 game into something that rivals and even exceeds modern releases in certain key ways.
Schied and his colleagues in Germany worked together with engineers at Nvidia to further refine and expand upon “Q2VKPT” and brought the resulting project to GDC in the form of “Quake II RTX.” According to Nvidia, the game is now “a pure ray-traced game,” absent any pre-generated lighting or shadows, all of which are now generated entirely dynamically — much of the internal lighting of various rooms and spaces is actually generated by a virtual sun and its light bouncing off of various internal surfaces, for example.
Of course, in other ways, it’s still a game from 1997, which is part of why it functions at all. “Quake 2’s” relative visual simplicity is the only reason “Q2VKPT” can function at playable framerates, and it will be years before a game fully utilizing ray tracing rather than standard screen space tricks and some ray traced effects will be viable. In the meantime though, ray tracing is poised to radically reshape our expectations of video game visuals, and Nvidia is determined to remain at the bleeding edge.