GitHub - GPUOpen-Effects/TressFX at 4.0 (original) (raw)

AMD TressFX

AMD TressFX

The TressFX library implements AMD's TressFX hair/fur rendering and simulation technology. The TressFX technology uses the GPU to simulate and render high-quality, realistic hair and fur. TressFX makes use of the processing power of high-performance GPUs to do realistic rendering and utilizes DirectCompute to physically simulate each individual strand of hair.

Latest release

Highlights include the following:

Integrating TressFX

TressFX is our largest GPUOpen effect to date. Integration with a game engine for use in production is a substantial undertaking. This release moves us a lot closer to what we've done in production for specific engine integrations. You'll see some items (such as integration with a lighting system) will look more complicated than in previous releases. This release also tries to introduce some reusability across engines and APIs.

We're aware that there are still plenty of improvements we can make for the sake of usability in production. Some of the approaches to make this release more portable are experimental, and will potentially change in future releases.

New in TressFX 4

DirectX 12

Although DirectX 12 support is included, it hasn't been properly optimized.

Prerequisites

Getting started

Running the demo

Where to find things

Premake

The Visual Studio solutions and projects in this repo were generated with Premake. If you need to regenerate the Visual Studio files, double-click on gpuopen_geometryfx_update_vs_files.bat in the premake directory.

For Visual Studio 2015 and 2017, this version of Premake adds the WindowsTargetPlatformVersion element to the project file to specify which version of the Windows SDK will be used. To change WindowsTargetPlatformVersion for Visual Studio 2015 and 2017, change the value for _AMD_WIN_SDK_VERSION in premake\amd_premake_util.lua and regenerate the Visual Studio files.

Third-Party Software

Previous releases

TressFX 4 is a big change from the prior 3.1.1 release. A separate branch for 3.1.1 has been created for the convenience of users that have been working with TressFX 3.

Attribution