Since the dawn of the 3D era, characters in video games have largely featured totally unrealistic hair: blocky and jagged, often without animation that matches the character’s movements. Eight years ago Nvidia Corp. even demonstrated how hair is meant to look like in video games with its Nalu tech demo. Unfortunately, hair in games have so far looked unrealistic. Advanced Micro Devices wants to change that with its TressFX technology.
Given its nature, realistic hair is one of the most complex and challenging materials to accurately reproduce in real-time. Convincingly recreating a head of lively hair involves drawing tens of thousands of tiny and individual semi-transparent strands, each of which casts complex shadows and requires anti-aliasing. Even more challengingly, these calculations must be updated dozens of times per second to synchronize with the motion of a character. With AMD TressFX technology that is based on DirectCompute programming language, it is now possible to accurately reproduce hair and foliage through extensive usage of highly-parallel computing.
TressFX Hair revolutionizes Lara Croft’s locks by using the DirectCompute programming language to unlock the massively-parallel processing capabilities of the graphics core next architecture, enabling image quality previously restricted to pre-rendered images. Building on AMD’s previous work on order independent transparency (OIT), this method makes use of per-pixel linked-list (PPLL) data structures to manage rendering complexity and memory usage.
Wind tears through a perilous chasm, whipping Lara’s ponytail to the side. With TressFX Hair, each one of her thousands of individualized strands of hair are constantly changing with the windspeed.
DirectCompute is additionally utilized to perform the real-time physics simulations for TressFX Hair. This physics system treats each strand of hair as a chain with dozens of links, permitting for forces like gravity, wind and movement of the head to move and curl Lara’s hair in a realistic fashion. Further, collision detection is performed to ensure that strands do not pass through one another, or other solid surfaces such as Lara’s head, clothing and body.
Finally, hair styles are simulated by gradually pulling the strands back towards their original shape after they have moved in response to an external force. Graphics cards featuring the GCN architecture, like select AMD Radeon HD 7000-series, are particularly well-equipped to handle these types of tasks, with their combination of fast on-chip shared memory and massive processing throughput on the order of trillions of operations per second.