TressFX (original) (raw)

From Wikipedia, the free encyclopedia

Software library for simulation and rendering of hair, fur, and grass

AMD TressFX

Developer(s) AMD
Initial release 2013
Stable release 4.1
Repository github.com/GPUOpen-Effects/TressFX Edit this at Wikidata
Written in C++
License MIT License[1]
Website GPUOpen: TressFX

AMD TressFX is a software library which provides for advanced simulation and rendering of hair, fur, and grass to be processed by the GPU. The initial library was written to perform well on AMD's GCN-based products. Version 3 was released on January 26, 2016, and works solely with Direct3D 11 and utilizes DirectCompute.

A competing solution offered by Nvidia is HairWorks which is part of their Nvidia GameWorks suite and is proprietary in nature.

Released as part of GPUOpen AMD TressFX is free and open-source software subject to the MIT License.

Motivations for development and origins

[edit]

Traditionally, hair representation in video games has been sub-par for several reasons. For short hair (especially on male characters), hair has often been represented by a detailed texture on a character's skeleton. This makes it difficult to represent hair styles that are not pressed flat against the skull. Longer hair is often represented as a texture on a moving part of a skeleton and thus moves as a multi-jointed appendage. While this hair has more movement than the former, the movement is usually physically unrealistic – the hair moves as one body and movement is very often under or over damped.

In order to overcome this, AMD developed TressFX Hair. TressFX Hair models each of potentially thousands of strands of hair individually with dozens of links per strand of hair. Each strand reacts to different physical forces such as gravity, inertia, wind, and the movement of a character's head. This allows the hair to move in a much more physically realistic manner.

Because simulating thousands of strands of hair is much more computationally intense than displaying a texture over a character's skeleton, the impact of TressFX Hair on game performance and frame rates may not be trivial. High performance video cards may have enough resources available that the extra effort of rendering hair may produce negligible or acceptable frame rate losses. Conversely, older video cards may spend a large proportion of each frame's render time rendering hair, and this can noticeably reduce game performance. Of course, performance is interrelated with other game settings, resolution, the number of objects with hair to be rendered in the screen, amount of hair per object, and distance from the object.

TressFX Hair 1.0 was AMD's first release of this software in 2013. Version 1.0 only offered support for hair and not fur or grass. The first game to use TressFX Hair was the 2013 game Tomb Raider.

Version 2.0 offers many improvements upon version 1.0 such as:[2]

The first game confirmed to use TressFX 3.0 is Deus Ex: Mankind Divided.[3]

Version 4.0 of TressFX was released on the 20. April 2018 and brought a wide variety of improvements including DirectX 12 support. This release also focused on being much easier to import into existing rendering frameworks.[4]

This version was released on the 20 January 2020. It includes some performance improvements, but mostly is focused on better integration in existing rendering frameworks. An integration into the Epic Games Unreal Engine 4.22 is provided including detailed documentation.[5]

PureHair is a version of TressFX modified by Square Enix for use in Rise of the Tomb Raider.[6] [7]

  1. ^ "TressFX MIT License". GitHub. 2019-03-05.
  2. ^ "TressFX Hair: Cross-platform and v2.0".
  3. ^ "Dawn Engine – First Slide Showcasing AMD's TressFX 3.0".
  4. ^ "TressFX 4.0 ReadeMe". GitHub. 2020-08-11.
  5. ^ "TressFX 4.1 ReadeMe". GitHub. 2020-08-11.
  6. ^ "Rise of the Tomb Raider will have improved TressFX".
  7. ^ "Rise of the Tomb Raider uses modified version of TressFX".