Tocar na grama? Não quando a AMD reduziu o uso de memória de rastreamento de raios em 98% para esses arbustos e árvores que minam o hardware

Como alguém que passou grande parte da infância conversando com árvores, sou da opinião de que a floresta dos videogames não precisa ser melhor do que as florestas do Noroeste Pacífico de Alan Wake 2. Isso não impediu a AMD de inovar; ao aproveitar as ‘gaiolas tetraédricas’ para ajudar a renderizar uma vasta cena de vegetação, os pesquisadores da empresa dizem que conseguiram reduzir o uso potencial da memória de rastreamento de raios em 98%.

Normalmente, uma cena de cerca de 25.000 plantas animadas de forma independente feitas de centenas de milhares de triângulos poderia consumir 80 GB de memória da GPU. Não apenas isso, mas uma GPU Radeon RX 9070 XT levaria 300 ms por quadro para verificar quais superfícies dentro de uma cena estão se cruzando com um raio (a estrutura de dados que organiza essas informações é chamada de Hierarquia de Volume Limite). Resumindo, usar tecnologia tradicional para renderizar uma cena tão densamente povoada seria lento e instável.

Holger Gruen, membro do Programa de Gráficos Avançados da AMD, compartilhou recentemente no GPUOpen que as demonstrações de gaiola tetraédrica da equipe usam apenas “1,7 GB de memória BVH e aproximadamente 3,3 ms para todas as atualizações de BVH por quadro” em comparação. Tocar na grama? Não quando temos árvores como estas.

Últimos vídeos deJogador de PC
Assista ao vídeo completo aqui:

De qualquer forma, deixe-me explicar como essa tecnologia funciona: uma gaiola tetraédrica envolve essencialmente a malha densa de toda aquela matéria vegetal. Em vez de muitas folhas poligonais balançando na brisa simulada, apenas a gaiola simplificada se deforma. Portanto, em vez de olhar diretamente para os muitos vértices oscilantes de uma árvore virtual, os raios são traçados ao longo da estrutura superficial simplificada da gaiola tetraédrica ao seu redor.

Correndo o risco de simplificar demais, penso nesta tecnologia um pouco como aqueles modelos 3D ou gravações a laser que você às vezes vê dentro de cubos de cristal – mas talvez seja só eu.

“A geometria densa de um objeto animado e suas estruturas BVH permanecem estáticas e reutilizáveis. Durante o tempo de execução, apenas a gaiola se deforma. Os raios são transformados novamente em um quadro de referência estático antes de cruzá-los com o conjunto denso de triângulos”, explica Gruen. “Isso significa que o custo da animação só aumenta com a complexidade da gaiola, não com a contagem de triângulos. Isso ocorre às custas da perda do controle da animação sobre cada vértice, mas isso é bom para muitas animações.”

Em outras palavras, para uma cena onde o foco está menos nas folhas exuberantes de uma única planta e mais em um campo de folhagem, os desenvolvedores provavelmente não perderão a capacidade de ajustar animações individuais. Mas para árvores 3D com personalidade, as gaiolas tetraédricas não serão tão úteis.

Também é importante notar que a tecnologia ainda é uma demonstração de pesquisa, em vez de um recurso completo que chegará em breve a um jogo perto de você. Dito isso, a equipe já está “trabalhando arduamente” para criar “amostras DXR e uma biblioteca C++ somente de cabeçalho que permite construir gaiolas tetraédricas de alta qualidade para objetos com pele, objetos animados por quadros-chave e objetos estáticos”. Você também pode ler mais sobre a pesquisa da equipe no artigo de acesso aberto ‘Ray Tracing Massive Amounts of Animated Geometry’.