Então, eu estou escrevendo um pequeno jogo usando o Direct3D 9 e usando várias extensões para o terreno. Tudo o que estou fazendo é amostrar 3 texturas e um mapa de mesclagem e obter a cor geral das três texturas com base nos canais de cores do mapa de mesclagem. De qualquer forma, estou obtendo uma queda maciça na taxa de quadros quando toco mais de uma textura; vou de 120+ fps para pouco menos de 50.
Este é o código HLSL responsável pelo abrandamento:
float3 ground = tex2D(GroundTex, multiTex).rgb;
float3 stone = tex2D(StoneTex, multiTex).rgb;
float3 grass = tex2D(GrassTex, multiTex).rgb;
float3 blend = tex2D(BlendMapTex, blendMap).rgb;
Estou fazendo errado? Se alguém tiver alguma informação ou dicas sobre amostragem de textura ou algo assim, isso seria legal.
Obrigado.