ToTTenTranz disse:
Um normal map é uma textura feita a partir de modelos com um polygon count gigantesco.
Lá estás tu, a confundir texturas com polígonos...
ToTTenTranz disse:
Pegam no modelo de muitos polígonos e vão "aparando" os vértices, que são transformados em texturas com informação tridimensional (uma evolução do DOT3 bump mapping) até ter tantos vértices como o modelo com poucos polígonos.
Vértices transformados em texturas, hein ?
Existem vértices texturados (Ver
Tex), mas vértices transformados em texturas aínda é melhor do que polígonos em texturas...
O que eles fazem é actuar sobre o mapa de transparências a aplicar por cima da textura de cor/detalhe natural, e, à medida que "cortam" polígonos, alteram o nível de cinza de determinado pixel nesse mapa para que, ao fazer o rendering, a iluminação dê sempre a ilusão de manter o detalhe que se perderia em relação à textura+mapa de transparências aplicadas a uma mesh mais detalhada.
Por isso é que funciona melhor em jogos com muito contraste, como o Doom 3 ou o Farcry, por exemplo.
ToTTenTranz disse:
A primeira vez que algo do género apareceu em público foi na demo do X-Isle: Dinossaur Island (que uns largos meses depois mudou de nome para... Far Cry) que foi feita para mostrar o potencial da GeForce 3.
Já sei disso tudo há séculos, e cheguei a experimentar a techdemo X-Isle (que, diga-se da passagem, estava longe da qualidade gráfica de jogos da altura, como o Evolva por exemplo, e aínda longe do Farcry final).
ToTTenTranz disse:
O nome que a desconhecida (na altura) Crytec dava a essa técnica era PolyBump (pelo nome já se percebe que é uma técnica que transforma polígonos em texturas bump-mapped).
PolyBump, marketing speak para outra técnica proprietária de normal maps ligeiramente diferente.
São apenas o adiar da decisão inevitável que surgirá quando as GPU's tiverem poder suficiente ou seja, mudar para displacement maps.
E não, não é possível transformar polígonos em texturas, pois
polígonos são apenas primitivas sem texturas ou iluminação, ordenados numa
mesh que compõe os volumes, como já disse acima.
ToTTenTranz disse:
Quando dizem que o bigode do snake tem o mesmo polygon count que um soldado inteiro no MGS3 querem dizer que isso acontecia no modelo do snake original, feito por CGI pelos artistas gráficos. Depois transformaram parte do detalhe para normal maps, cortando nos polígonos.
Se o bigode fosse feito inteiramente por polígonos até era um exemplo de má programação, pois os developers estariam a gastar recursos desnecessários (ciclos de processamento + memória) para algo que não faria grande diferença: o bigode. Porque ninguem vai andar a fazer zooms ao bigode para tentar ver que o detalhe daquilo está nas texturas..
Esqueces-te que não são as texturas a dar a ilusão de movimento, mas sim os polígonos.
"Animação" é diferente de "iluminação" dinâmica de texturas.
Os cabelos são estruturas particularmente complicadas de renderizar precisamente por isso, não resulta simplesmente aplicar normal maps porque são muito pequenos, e o seu movimento envolve uma grande quantidade de polígonos animados com detecção de colisão.
Não foi acidente ele referir o bigode, é o feito mais impressionante de todos.
Qualquer estrutura do género é sempre complicada (veja-se o exemplo da animação realista da relva nos 3DMark, dos cabelos na techdemo Nalu, etc) e o facto de ele falar no nº de polígonos do mesmo em relação a um boneco do MGS3 teria sempre muito mais impacto do que comparar a percentagem de polígonos extra de todo o modelo.
Pormenores como esses são o
make-or-break de uma simulação com realismo.
Mesmo em filmes CGI só recentemente é que os bonecos começaram a ter algo mais do que uma massa no lugar de cabelos individuais, pois a perda de performance e a animação dos mesmos é uma dor de cabeça (pun not intended).