TressFX Hair 2.0 Detailed – Improved Visuals, Performance And Multi-Platform Support
Last Tuesday AMD revealed more details about TressFX Hair 2.0. The company’s second iteration of their in-house hair physics simulation technology for games. TressFX was the first comprehensive hair phsycis technology ever featured in a 3D game. The technology first appeared in Tomb Raider in early 2013 and has since also made its way to other games such as Lichdom Battlemage. In which the technology was demonstrated in a short but funny video.
TressFX Hair 2.0 Brings Performance and Visual Improvements.
AMD has introduced a plethora of improvements with the second iteration of TressFX. Including performance improvements, better scaling on lower end hardware, cross-platform support and some fantastic visual improvements.
But let’s not get ahead of ourselves here and let’s discuss one improvement at a time.
Beginning with performance AMD has gone through several code refinements to improve upon the technology. The company even offers the source code for TressFX publicly on their website so anyone including game developers and even Nvidia can take it, implement it and improve upon it if they wish.
TressFX offers obvious benefits in comparison to Nvidia’s HairWorks which offers similar functionality. Very much unlike TressFX however, GameWorks is a closed proprietary solution that is offered in a “BlackBox” DLL library format. So only Nvidia and those who are are close to it my use or even see the code. This has sparked controversy leading many game developers and tech journalists to publicly criticize the program.
AMD demonstrated the performance difference between TressFX and HairWorks by isolating the code and running it on both AMD and Nvidia hardware.
No only was TressFX 9 times faster than HairWorks on AMD’s hardware but it was also faster than HairWorks running on Nvidia’s own hardware. In fact AMD states that the performance hit of TressFX is identical on both Nvidia and AMD hardware. All the while HairWorks clearly favors Nvidia’s hardware by a significant margin yet it is still slower.
AMD attributes this performance lead to the open nature of the source code, allowing both game developers and Nvidia to optimize it to their needs.
In an effort to make TressFX even less taxing on lower end hardware AMD has introduced continuous LODs.
The farther you are the less intense and detailed the effect needs to be, a simple and effective concept.
Moving on to visual improvements AMD has done a lot of work to ensure that the physics simulation is as accurate as possible. This included numerous code tweaks and bug fixes. AMD introduced a new algorithm that simulates hair elasticity more accurately as well as more efficiently.
The result is more realistic looking and “feeling” hair and at a lower performance cost.
In addition to the mentioned improvements to the code AMD has introduced a whole new visual effect called self shadowing.
The effect gives the hair a very natural look and depth.
Grass, Fur and Cross-Platform Support
AMD has also announced cross-platform support between the PC and consoles. Because both consoles are powered by AMD’s GCN graphics architecture utilizing TressFX 2.0 across platforms is pretty much straight forward. This is evidenced by the Tomb Raider Definitive Edition which launched on both the PS4 and XBOXONE with the TressFX Hair tech.
The first game to make use of TressFX Hair 2.0 according to AMD is Lichdom Battlemage. There are also numerous games coming out with the technology along with effects that span grass and fur.
List of improvements from Tress FX 1.0 to 2.0 include :
– New functionality to support for grass and fur
– Continuous levels of details (LODs) are designed to improve performance by dynamically adjusting visual detail as TressFX-enabled objects move towards and away from the player’s POV
– Improved efficiency with many light sources and shaders via deferred rendering
– Superior self-shadowing for better depth and texture in the hair
– Even more robust scalability across GPUs of varying performance envelopes (vs. TressFX 1.0)
– Modular code and porting documentation
– Stretchiness now respects the laws of physics
– and numerous bug fixes!