Even though the RPG release was delayed to 2015, at the GDC today Balázs Török Lead Engine programmer CD Project RED gave important insights into it's development process. The Witcher 3: Wild Hunt is one of the first games that relies on the GameWorks tools for programmers released by NVIDIA , particularly the Hair Works component.
Problems encountered in realistic rendering of hair discussed
In the real world, hair might not be given than much importance. But in the Witcher world, which is dependent primarily upon interaction of characters, importance on their realistic representation is the greatest. It is in this realistic representation Török and his team of 50 programmers encountered difficulties. "In movies like ' Frozen ' it comes together by quickly piecing together a few million units ," says Balázs Török . "In game simulation and rendering, such a set of realistic simulated hair will swish the display speed and fun in the basement."
To solve this problem, and to achieve the most realistic rendering possible, Török and his team tried the Hair Works tool by Nvidia, which has previously also been used in Call of Duty: Ghosts for Dynamic Fur simulation of animal characters. Hair Works works by reducing the memory required in the GPU for hair creation by optimizing rendering algorithms and DX 11 tessellation. Even though the initial results looked promising, the designers were not satisfied, according to Török. The hair appeared too dense and clamped. The solution was in random number generated parameters, which not only allowed density differentiation but also allowed for wind effects. "A physically correct simulation of these chaotic currents would devour too many resources ," says Török . The conclusion? "The rendering of fur and hair is difficult , but possible."
Next was Dane Johnston, GPU content manager at Nvidia who gave a brief about the working of the Hair Works tool. Templates of hairstyles and skin from 3D Max and Maya end up in a hair description file. This file includes the base details of the hair to be rendered and properties such as flexibility. Upon designer satisfaction, the file ends up in the game engine with Photoshop or Gimp created textures.
Monier Maher, APEX Product manager at Nvidia then proceeded to provide a brief about the GameWorks tools. The GameWorks list includes VisualFX , PhysX and OptiX SDK for optimal game development. The VisualFX component includes sub-tools such as HairWorks, FaceWorks, Turbulence, ShadowWorks and CameraWorks for effective Visual effects. The PhysX allows options for rendering and creation of physical objects such as clothing, liquids and other objects. The OptiX SDK is all about ray tracing, ambient occlusion and Light Baking.
A few videos demonstrating the Hair Simulation, Grass PhysX and FlameWorks have been uploaded by the guys over at PCGamesHardware.de which you might want to check out below.
NVIDIA GDC 2014 GameWorks Demos:
What is NVIDIA GameWorks?
The NVIDIA GameWorks program is part of NVIDIA’s latest strategy to empower developers with tools that ease in game development providing rich and quality gaming experience to PC gamers. This is done through the help of 300 visual effects engineers from NVIDIA who will be dispatched to developers across the globe offering library of SDKs, technology and algorithms and finally developer tools. Part of this strategy includes three new SDKs – Flex, GI Works and Flame Works.
‘We’ve dispatched our engineers to work onsite with top game developers and add effects, fix bugs, tweak performance, and train developers in open standards and work hand-in-hand with our game laboratory.’ NVIDIA
NVIDIA’s Flex is the latest unified GPU PhysX system which allows developers to use a combination of rigid body and fluid simulations. In past game development processes, it was hard to let the two simulations work aside each other due to their complex nature but NVIDIA’s Flex with the right tools would unify this process allowing the use of both rigid body and fluid simulations.
Next up is the new GI Works SDK which is the short term for Global Illumination Works which allows real-time global illumination in any scene required. Currently, developers use pre-backed global illumination effects in their scenes placing several light sources in a particular place which is a burden for developers and at the same time, it gives off a non-dynamic presentation. This is solved with the use of real-time global illumination which is more realistic and offers a more dynamic experience to gamers.
Last up is the Flame Works SDK which includes a film-quality volumetric effect solution to render flame and smoke. NVIDIA is adding these features along with various other effects in alot of upcoming titles such as Batman: Arkham Origins, Witcher 3: The Wild Hunt, Assassins Creed IV: Black Flag, Watch Dogs. Some of the new titles such as Project Cars and the multi-million dollar funded Star Citizen are also offering rich NVIDIA Turbulence and NVIDIA PhysX and PhysX Particles support plus HBAO+, TXAA, Cloth Simulation and many more to name.
NVIDIA's Next Generation FleX Unified PhysX and Turbulence (Next Gen) Particle Effects Coming to Unreal Engine 4 and CryEngine
NVIDIA also showcased several slides during the event at their conference at GDC 2014 which confirm that their next generation FleX Unified PhysX and Turbulence particle effects are officially headed for PC and would be inte grated in Unreal Engine 4 and CryEngine. The Turbulence particles will be added to Unreal Engine 3, 4 and Cry Engine via a patch while FleX would be headed to Unreal Engine 4. Only PC is the supported platform for these new features so titles developed exclusively for PC or multi-plat titles which are optimized for PC will adopt the new features.
Following slides are courtesy of PCGamesHardware:
- Interactive massive particle simulation based on eulerian fluid simulation
- Heat sources and jets
- Integrated with PhysX particles
- Noise Support
- Unified Solver for Effects
- Rigid/Deformable bodies
- Phase Transition