Megatexturing: Evolução das guerras do terremoto à raiva

10

Lembro-me de John Carmack falando sobre como eles usaram inicialmente a Megatexturing para Quake Wars: Enemy Territory. Desde então, a tecnologia evoluiu bastante no Rage.

Fiquei me perguntando se alguém aqui pode dar alguns detalhes técnicos sobre os detalhes sobre o que e como ele evoluiu desde então.

pdeva
fonte

Respostas:

6

Não sei se é o que você está procurando, mas você pode tentar este vídeo e este documento da GDC 2011. Trata-se de: Mega Malhas - Modelar, renderizar e iluminar um mundo composto de 100 bilhões de polígonos. E há muito sobre texturização.

zacharmarz
fonte
1
A conversa está realmente aqui nos arquivos da GDC, mas você precisa ter uma associação completa (US $ 495) para assisti-la.
bobobobo
3

Eu recomendaria verificar o artigo "Virtual Texture Mapping 101" no GPU Gems. É basicamente dividir a textura original (que geralmente é enorme) em blocos menores e carregá-los na memória da GPU, quando necessário. A mesma idéia pode ser usada para renderizar terrenos altos e detalhados.

CodeLord
fonte
3

Para os iniciantes, o Beyond3D tem uma pequena descrição de alguns detalhes técnicos reunidos ao longo de uma entrevista com o diretor técnico do Splash Damage, Arnout van Meer, e com o programador sênior de gráficos Mike Armstrong. Este mesmo artigo cita especificamente algumas desvantagens do MegaTexturing em sua iteração atual na página 5. Ele sugere que John Carmack já corrigiu alguns deles em uma revisão posterior, bem como maneiras de corrigir outros que não eram viáveis ​​na época.

Exemplos notáveis ​​são:

  • O zoom do Sniper Rifle não transmite em mapas mip de qualidade superior para os blocos exibidos
  • Não é possível com geometria arbitrária

Além disso, nesta entrevista, John Carmack afirma que algumas das deficiências da tecnologia usada em Quake Wars já foram corrigidas em construções internas - por exemplo, aplicando MegaTextures a geometria arbitrária, incluindo personagens e veículos.

Koarl
fonte
2

A apresentação do GDC 2008 Sparse Virtual Texture de Sean Barret foi sua tentativa de recriar o que Carmack estava fazendo na época. Também há fonte. Houve alguma correspondência entre Carmack e Barrett desde então.

(A apresentação é um pouco densa, mas vale a pena dedicar um tempo para entender - passei algumas sessões de uma hora com um quadro branco depois de assisti-lo duas vezes ao longo de dois dias e, finalmente, cheguei ao ponto em que acho que entendi Muito mais fácil se você tiver um background de shader de fragmentos, o que eu não tinha na época. Também é muito legal que a apresentação seja a demonstração.)

+1 a zacharmarz por mencionar a excelente apresentação do GDC2011 Mega Meshes pelo pessoal da Lionhead que trabalha com Milo e Kate. Existem muitas soluções muito práticas mencionadas, por exemplo: renderizar todos os outros quadros em locais diferentes (pontos de acesso, curvas de 180 graus, zooms, além de um spline de controle, etc.) para determinar a visibilidade da textura e os níveis de mip, e comunicar os resultados para um "cache L2", para resolver alguns dos problemas de fluxo de textura. Não necessariamente simples, mas ainda assim elegante em sua franqueza.

leander
fonte