Mipmapping

Mipmaps é como um anti-aliasing para texturas que além de deixar o gráfico muito mais bonito e agradável, pode até aumentar o FPS do jogo diminuindo o uso da placa de vídeo.



As fotos deste post usam os seguintes mods:
Vegetação original em HD com palmeira compilada em DXT5;
Fixed Pre-Lighting;
SilentPatch com "TwoPassRendering=1";
Map Textures Fix; e
Skygfx.

Originalmente, o GTA SA só usa mipmapping em texturas de alguns chãos, mas neste post você verá o quão agradável o jogo fica ao colocar mipmapping em todas as texturas do GTA! Além do uso do Anisotropy.

Acredito que o GTA SA usou mip-mapping em poucas texturas pois ele aumenta 30% do tamanho do .txd, ou seja, os arquivos .txd de 1 MB ficarão com 1,3 MB ao aplicar o mip-mapping, este é o único ponto fraco do mip-mapping, onde não é um problema pra nossos PCs de vários GBs, mas era um grande problema na época do PS2.
De qualquer modo, quando eu coloquei mipmap no meu gta3.img inteiro o peso aumentou de 896 MB para somente 905 MB. Pouca diferença.


Abra a print e vai indo pro lado para ver melhor as comparações:

(ignore a grama na segunda foto)

Na última imagem pode se ver a correção do fenômeno chamado Moiré pattern.


Como funciona?

Mipmap é basicamente como um LOD para texturas na qual tem um efeito que lembra anti-aliasing. As texturas que estão longe da câmera ou num ângulo acentuado ficarão mais borradas, assim não ficarão serrilhadas.
Clique aqui para informações mais avançadas na Wikipedia.

Por que aumenta o FPS?

Como eu disse, é como um LOD, ou seja, é uma versão em baixa resolução da textura enquanto a mesma está longe.
Em uma textura sem mip-map, quanto mais longe ou inclinada ela está da câmera, e quanto menos resolução há na sua tela, mais a placa de vídeo terá que pegar os pixels da textura, juntá-los e colocá-los num só pixel do seu monitor, deste modo, as texturas com mais resolução ocupando menor parte do monitor faz aumentar mais o uso da placa de vídeo, assim podendo causar perdas de FPS (é um dos principais motivos para mods de texturas HD darem lag).
É claro, isso não é exclusivamente para objetos de mapas, mas quaisquer modelos como carros mal modelados que colocam texturas de resolução grande demais em locais pequenos (muito comum em carros brasileiros).


No tutorial abaixo você aprenderá a colocar mipmaps em todas as texturas do seu jogo, e/ou em novos .txd de mods que você baixa etc.


Tutorial adicionar mipmaps no GTA SA

Nota: Para poder usar mipmapping no GTA Vice City é necessário baixar o ViceMips.

Baixe o MagicTXD.
E instale. :)

Arquivo único

Nele você pode adicionar mip-mapping em qualquer textura tudo dentro do próprio programa!
Simplesmente selecione a textura, press M, marque "Gerar mipmaps".

E pronto.

(lembre-se de deixar DXT1 sempre ativado para texturas sem transparência, e DXT5 para texturas com transparência. Diminui o peso do .txd)

Faça isso com quantas texturas quiser.

Conversão em massa

Para adicionar no arquivo todo, em vários arquivos ao mesmo tempo, ou até mesmo todo o seu gta3.img, ou outros .img, vá em "Conversão em massa" ("Mass conversion" in english?)

E configure a tela como você bem entender.
Não precisa de muita explicação pois está todo o programa está traduzido para português, ou espanhol etc etc.
Mas eu particularmente uso esta configuração:

Geralmente a opção "Melhorar filtragem" causa texturas pixeladas estilo Minecraft. Não sei exatamente o que causa o problema e você pode querer não marcá-la.

Em cima, em "Pasta do jogo:" ("Game directory" in english?) você deve colocar "a pasta onde tem os arquivos originais" (não literalmente a pasta do jogo, ok?). E embaixo em "Pasta destino:" você tem que colocar a pasta onde você quer que seus arquivos com mip mapping vão ficar.

Por exemplo:
Pasta do jogo: "E:\Documents\GTA San Andreas\convert"
Pasta de destino: "E:\Documents\GTA San Andreas\modloader\mipmapping"

Por exemplo, eu coloquei meu gta3.img na pasta "E:\Documents\GTA San Andreas\convert", e movi uns mods de texturas para lá também (como o Map Textures Fix e Texturas Originais em HD). Deixei tudo lá dentro desta pasta, bagunçado mesmo.

Quando eu clicar em "Converter" ("Convert", in english) irá começar a converter os arquivos lá dentro e colocá-los na pasta de destino.

Na tela irá mostrar uns progressos, se você saber o básico de inglês irá entender se deu tudo certo, ou se deu erro, e qual foi o erro etc.

Nota: Pode demorar um tempinho para terminar... Depende do seu PC, e quantidade de arquivos lá.

Quando tudo terminar, os arquivos convertidos para mipmapping estarão na pasta "E:\Documents\GTA San Andreas\modloader\mipmapping", prontinhos para o ModLoader carregá-los.

Antes de testar dentro do jogo, dê uma olhada se os arquivos estão lá mesmo. Se não estão, ou é porque não terminou ainda, ou é porque deu algum erro. Então dê uma olhada na tela do programa, como eu falei.

(leia também a seção "Informações Extras" abaixo!)




Anisotropic Filtering
OK! Já temos o mip-mapping, mas como melhorá-lo deixando-o menos borrado? Afinal, como mostrado na print acima, sem anisotropic a textura fica mais borrada do que o normal.


Antes: Anisotropic tira um pouco de FPS! Você pode optar por não ativá-lo ou ativar somente 2x, 4x etc ao invés de 16x como mostrado.
A ativação do Anisotropic é opcional, mas recomendada por corrige bugs como este:
  

Como ativar o Antisotropic Filtering:

Geralmente o "modo de desempenho" da sua placa de vídeo desativa o anisotropic, portanto, remova a placa de vídeo do modo de desempenho (isso pode ativar outras coisas da placa de vídeo que também pode tirar FPS), e/ou use o painel de sua placa de vídeo para configurar manualmente qual anisotropic que você quer, ou então deixar usar as configurações do aplicativo ("very high" do GTA SA usará 16x).

Devido a existir incontáveis placas de vídeos diferentes, não irei ensinar aqui como fazer isso em sua placa de vídeo, basicamente é abrir o painel da placa de vídeo e configurar lá, se você não sabe como fazer isso procure no Google como configurar a filtragem anisotrópica da sua placa de vídeo.

Importante: Anisotropic Filtering somente funciona no "High" ou "Very High"!!! - "Oh, mas eu não quero sombras e grama" - Tudo bem, basta usar o Mix Sets e colocar "1" em FcStaticPedSha, FcStaticVehSha e DisaGrass para desativa-las.



Informações Extras:

Importante: No caso do gta3.img (ou outro .img), você pode substituí-lo na pasta Models (antes faça backup!)(ou coloque no Modloader mesmo...), ou caso você usou o programa com "Reconstruir arquivos IMG" desmarcado, irá criar a pasta "gta3_archive" (ou algum nome assim), basta colocá-la dentro do Modloader também, mas lembre-se que usando o Modloader para isso você deve configurar a pasta para ter baixa prioridade!
Se você ainda não sabe como deixar a pasta em baixa prioridade: Clique aqui e leia a seção .Priority! Recomendo colocar prioridade 1, por exemplo deixar a pasta em "modloader\gta3_archive" e colocar no modloader.ini "gta3_archive=1". Leia lá o tutorial do .Priority para mais informações.

Se você não usou o programa num arquivo .img mas sim em um ou vários arquivos .txd, simples, basta pegar os arquivos .txd da pasta de destino e instalá-los normalmente substituindo os anteriores do seu tal mod, não há mistérios.


Dica: Sinta-se à vontade em mip-mappear todos os .txd que você baixa, até mesmo packs de texturas inteiros, exceto coisas de hud etc, roupas (player.img ou novas que você baixa) não são compatíveis até o momento, portanto terá crash caso tentar adicionar.
Lembre-se também mip-mappear o gta_int.img (na qual tem as texturas dos interiores!)

RoSA Project é um pack de texturas incrível, mas são texturas extremamente detalhada e sem mip-mapping, ao colocar o mip-mapping nelas deixará muito mais bonito e leve. Foi relatado que Skygfx também deixou tais packs de texturas mais leves. Alguém confirma?

Se você não ver diferença: Verifique tudo, a instalação etc. Caso as texturas estão todas serrilhadas, use Mix Sets com "BlackRoadsFix=1" dentro do Mix Sets.ini, e junto o Black Roads Fix do DK. Ao usar estes dois mods juntos, o jogo será forçado a ativar o mip-mapping.

Bugs: Como eu disse antes, se não usar anisotropic, terá ESTE bug nas texturas com alpha/transparência. Se você não deseja usar anisotropic, você pode manualmente remover a instalação de mip-mapping nos arquivos de fios etc, veja nos comentários deste post a lista.
Evite converter seus .TXD, instalar, ver problemas, recolocar os arquivos na pasta txdgen_in e reconverter para tentar corrigir. Sempre converta os arquivos "originais".

Veja também:



Tutorial escrito por mim, Junior_Djjr (MixMods).
Agradecimentos ao TJGM por me apresentar esta dica e do próprio The_GTA (criador do MagicTXD) pelo apoio desta postagem.

Aviso:
Download quebrado?
Precisa atualizar?
Problemas com a postagem?
Indique mods para serem postados aqui (fórum) ou aqui (formulário).
Dê ideias de mods para GTA aqui.
É proibido discutir política, ideologias e religião aqui. Isto é um site de jogos, não facebook.
Devido à problemas com a regra acima e contas fakes, foi necessário ativar moderação. Seu comentário será aprovado dentro de 1 dia.