AMD TressFX — це програмна бібліотека, яка забезпечує розширене моделювання та візуалізацію волосся, хутра та трави для обробки графічним процесором. Початкова бібліотека була написана, щоб добре працювати на продуктах AMD на основі GCN. Версія 3 була випущена 26 січня 2016 року та працює виключно з Direct3D 11 і використовує DirectCompute.
Конкурентним рішенням, пропонованим Nvidia, є HairWorks, який є частиною їхнього пакета Nvidia GameWorks і є пропрієтарною власністю.
Традиційно представлення волосся у відеоіграх було неповноцінним з кількох причин. Для короткого волосся (особливо на чоловічих персонажах) часто малювали детальну текстуру на скелеті персонажа. Це ускладнює зображення зачісок, які не притиснуті до черепа. Довше волосся часто показують у вигляді текстури на рухомій частині скелета і, таким чином, рухається як багатосуглобовий придаток. Хоча це волосся має більше коливання, ніж попереднє, воно, як правило, фізично нереалістичне – волосся коливається як одне тіло, і рух дуже часто недостатній або перебільшений.
Щоб подолати це, AMD розробила TressFX Hair, яке моделює кожну з потенційно тисяч пасом волосся окремо за допомогою десятків ланок на пасмо волосся. Кожне пасмо реагує на різні фізичні сили, такі як гравітація, інерція, вітер і рух голови персонажа. Це дозволяє волоссю рухатися набагато реалістичніше.
Оскільки моделювання тисяч пасом волосся є набагато інтенсивнішим з точки зору обчислень, ніж зображення текстури на скелеті персонажа, вплив TressFX Hair на продуктивність гри та частоту кадрів може бути нетривіальним. Високопродуктивні відеокарти можуть мати достатньо ресурсів, щоб додаткові зусилля візуалізації волосся могли призвести до незначних або прийнятних втрат частоти кадрів. І навпаки, старі відеокарти можуть витрачати велику частину часу обробки кожного кадру на відтворення волосся, і це може помітно знизити продуктивність гри. Як і решту програмних технологій, продуктивність взаємопов’язана з іншими налаштуваннями гри, роздільною здатністю, кількістю об’єктів із волоссям, які мають бути показані на екрані, кількістю волосся на об’єкт та відстанню від об’єкта.
Версії
Версія 1.0
TressFX Hair 1.0 був першим випуском цього програмного забезпечення AMD. Версія 1.0 підтримувала лише волосся, а не хутро чи траву. Першою грою, в якій використовувався TressFX Hair, була гра Tomb Raider 2013 року.
Версія 2.0
Версія 2.0 пропонує багато покращень у порівнянні з версією 1.0, наприклад:[3]
Безперервний рівень деталізації (LOD) призначений для покращення продуктивності шляхом динамічного коригування візуальної деталізації, коли об’єкти з підтримкою TressFX рухаються до та від точки зору гравця. Це досягається шляхом надання меншої кількості волосків, коли вони знаходяться далеко від об’єкта, але роблячи кожне волосся товщі, таким чином скорочуючи час обчислень, але зберігаючи той самий вигляд та естетику.
Нова функціональність для підтримки візуалізації трави та хутра на додаток до волосся.
Силу тяжіння можна змінити на волоссі. Наприклад, під час плавання волосся повинні бути нейтрально плавучими та не повинні ні сильно тонути, ні плавати. Щоб досягти цього, гравітацію волосся можна встановити на 0.
Покращена ефективність із багатьма джерелами світла та шейдерами завдяки відкладеному рендерингу.
Покращене самозатінення для кращої глибини та текстури волосся.
Ще більш надійна масштабованість між графічними процесорами з різними діапазонами продуктивності (у порівнянні з TressFX 1.0).
TressFX версії 4.0 була випущена 20 квітня 2018 року та принесла широкий спектр покращень, включаючи підтримку DirectX 12. Цей випуск також зосереджено на тому, щоб його набагато легше імпортувати в наявні фреймворки візуалізації.[5]
Версія 4.1
Ця версія була випущена 20 січня 2020 року. Вона включає деякі покращення продуктивності, але здебільшого зосереджена на кращій інтеграції в існуючі фреймворки візуалізації. Надається інтеграція в Epic Games Unreal Engine 4.22, включаючи детальну документацію.[6]