Shaders no MTA: melhorando o visual do servidor
Com shaders, o MTA:SA permite melhorar muito o visual do GTA San Andreas: reflexos nos carros, céu mais bonito, água realista, efeitos de tela. Tudo pelo lado do cliente, sem que o jogador instale nada.
O que é um shader
Um pequeno programa (arquivo .fx, em HLSL) executado pela placa de vídeo do jogador para desenhar superfícies e efeitos. No MTA, você cria e aplica shaders por script de cliente.
Usos comuns
- Substituição de texturas: trocar texturas do mapa (ruas, prédios, placas) sem substituir modelos;
- Reflexos em carros: pintura com brilho e reflexo do ambiente;
- Efeitos de pós-processamento: contraste, cores, bloom, desfoque de movimento;
- Água, céu e iluminação melhorados;
- Efeitos de interface: máscaras, cantos arredondados, blur de fundo em painéis.
Exemplo: trocando uma textura
addEventHandler("onClientResourceStart", resourceRoot, function()
local shader = dxCreateShader("texreplace.fx")
local textura = dxCreateTexture("img/asfalto.png")
dxSetShaderValue(shader, "gTexture", textura)
engineApplyShaderToWorldTexture(shader, "des_1line256") -- nome da textura original
end)
Um arquivo texreplace.fx simples apenas desenha a textura recebida no lugar da original. A wiki do MTA traz exemplos de shaders prontos para esse e outros usos.
Descobrindo nomes de texturas
Use engineGetVisibleTextureNames (ou resources de depuração) para listar as texturas visíveis e descobrir o nome da que você quer trocar.
Desempenho
Shaders rodam na placa de vídeo do jogador:
- Efeitos pesados derrubam o FPS em PCs modestos — muito comuns entre jogadores de MTA;
- Ofereça um menu de configurações para o jogador ligar ou desligar efeitos;
- Verifique se o shader foi criado (em PCs sem suporte,
dxCreateShaderpode falhar) e tenha uma alternativa.
Organização
- Um resource
[visual]com os shaders; - Configurações salvas localmente no cliente (preferências do jogador);
- Texturas otimizadas para não aumentar muito o download.
Hospede seu servidor com a VittHost
No MTASA-BR da VittHost, seus shaders e texturas chegam rápido aos jogadores com downloads acelerados por nginx dedicado. Servidores no Brasil, painel Pterodactyl, proteção DDoS, MySQL incluso e teste grátis de 3 dias.