TressFX
TressFX
| |
|---|---|
| Nome | |
| TressFX | |
| Desenvolvedor | |
| AMD | |
| Lançamento inicial | |
| 2013 | |
| Versão estável | |
| 4.1 | |
| Repositório | |
| github.com/GPUOpen-Effects/TressFX | |
| Escrito em | |
| C++ | |
| Licença | |
| Licença MIT[1] | |
| Site | |
| GPUOpen: TressFX |
AMD TressFX é uma biblioteca de software que fornece simulação e renderização avançadas de cabelo, pelos e grama a serem processados pela GPU. A biblioteca inicial foi escrita para ter bom desempenho em produtos baseados em GCN da AMD. A versão 3 foi lançada em 26 de janeiro de 2016 e funciona somente com o Direct3D 11 e utiliza o DirectCompute.
Uma solução concorrente oferecida pela Nvidia é o HairWorks, que faz parte do pacote Nvidia GameWorks e é proprietário por natureza.
Lançado como parte do GPUOpen, o AMD TressFX é um software livre e de código aberto sujeito à Licença MIT.
Motivações para o desenvolvimento e origens
Tradicionalmente, a representação de cabelo em videogames é inferior por vários motivos. Para cabelos curtos (especialmente em personagens masculinos), o cabelo geralmente é representado por uma textura detalhada no esqueleto do personagem. Isso dificulta a representação de penteados que não sejam pressionados contra o crânio. Cabelos longos são frequentemente representados como uma textura em uma parte móvel do esqueleto e, portanto, se movem como um apêndice multiarticulado. Embora esse cabelo tenha mais movimento do que o anterior, o movimento geralmente é fisicamente irrealista – o cabelo se move como um corpo e o movimento é muitas vezes sub ou super amortecido.
Para superar isso, a AMD desenvolveu o TressFX Hair. O TressFX Hair modela cada um dos milhares de fios de cabelo individualmente com dezenas de links por fio. Cada fio reage a diferentes forças físicas, como gravidade, inércia, vento e o movimento da cabeça do personagem. Isso permite que o cabelo se mova de uma maneira fisicamente muito mais realista.
Como simular milhares de fios de cabelo é muito mais intenso computacionalmente do que exibir uma textura sobre o esqueleto de um personagem, o impacto do TressFX Hair no desempenho do jogo e nas taxas de quadros pode não ser trivial. Placas de vídeo de alto desempenho podem ter recursos disponíveis suficientes para que o esforço extra de renderização de cabelo possa produzir perdas de taxa de quadros insignificantes ou aceitáveis. Por outro lado, placas de vídeo mais antigas podem gastar uma grande parte do tempo de renderização de cada quadro renderizando cabelos, e isso pode reduzir consideravelmente o desempenho do jogo. É claro que o desempenho está inter-relacionado com outras configurações do jogo, resolução, número de objetos com cabelo a serem renderizados na tela, quantidade de cabelo por objeto e distância do objeto.
Versões
Versão 1.0
TressFX Hair 1.0 foi o primeiro lançamento deste software da AMD em 2013. A versão 1.0 só oferecia suporte para cabelo e não para pelos ou grama. O primeiro jogo a usar TressFX Hair foi o jogo Tomb Raider, de 2013.
Versão 2.0
A versão 2.0 oferece muitas melhorias em relação à versão 1.0, como:[2]
- O contínuo nível de detalhe (Level of detail, LOD) foi projetado para melhorar o desempenho ajustando dinamicamente os detalhes visuais conforme os objetos habilitados para TressFX se movem em direção ao ponto de vista do jogador e se afastam dele. Isso é feito renderizando menos pelos quando distante de um objeto, mas tornando cada pelo mais grosso, reduzindo assim o tempo computacional, mas mantendo a mesma aparência e estética.
- Nova funcionalidade para dar suporte à renderização de grama e pelos, além de cabelo.
- Os pelos são dispostos em grupos. O cabelo naturalmente se agrupa na cabeça de uma pessoa. No entanto, as renderizações produzidas pelo TressFX 1.0 não fizeram isso, e por isso o cabelo parece separado de forma não natural.
- A gravidade pode ser alterada no cabelo. Por exemplo, ao nadar, o cabelo deve flutuar de forma neutra e não deve afundar nem flutuar significativamente. Para fazer isso, a gravidade do cabelo pode ser definida como 0.
- Eficiência aprimorada com muitas fontes de luz e shaders por meio de renderização adiada.
- Auto-sombreamento superior para maior profundidade e textura no cabelo.
- Escalabilidade ainda mais robusta entre GPUs com diferentes níveis de desempenho (em comparação com TressFX 1.0).
- Código modular e documentação de portabilidade.
- A elasticidade agora respeita as leis da física.
Versão 3.0
O primeiro jogo confirmado a usar TressFX 3.0 é Deus Ex: Mankind Divided.[3]
Versão 4.0
A versão 4.0 do TressFX foi lançada no dia 20. Abril de 2018 e trouxe uma grande variedade de melhorias, incluindo suporte ao DirectX 12. Esta versão também se concentrou em ser muito mais fácil de importar para estruturas de renderização existentes.[4]
Versão 4.1
Esta versão foi lançada em 20 de janeiro de 2020. Inclui algumas melhorias de desempenho, mas concentra-se principalmente em melhor integração em estruturas de renderização existentes. Uma integração com o Epic Games Unreal Engine 4.22 é fornecida, incluindo documentação detalhada.[5]
PureHair
PureHair é uma versão do TressFX modificada pela Square Enix para uso em Rise of the Tomb Raider.[6]
Ver também
Referências
- ↑ «TressFX MIT License». GitHub. 5 de março de 2019. Cópia arquivada em 7 de janeiro de 2020
- ↑ «TressFX Hair: Cross-platform and v2.0». Cópia arquivada em 1 de fevereiro de 2016
- ↑ «Dawn Engine – First Slide Showcasing AMD's TressFX 3.0»
- ↑ «TressFX 4.0 ReadeMe». GitHub. 11 de agosto de 2020
- ↑ «TressFX 4.1 ReadeMe». GitHub. 11 de agosto de 2020
- ↑ «Rise of the Tomb Raider will have improved TressFX»
Ligações externas
- Página da AMD no TressFX Arquivado em 2018-01-03 no Wayback Machine