J'écris donc un petit jeu en utilisant Direct3D 9 et j'utilise le multitexturing pour le terrain. Tout ce que je fais, c'est échantillonner 3 textures et une carte de mélange et obtenir la couleur globale des trois textures en fonction des canaux de couleur de la carte de mélange. Quoi qu'il en soit, j'obtiens une baisse massive de la fréquence d'images lorsque j'échantillonne plus d'une texture, je passe de 120+ images par seconde à un peu moins de 50.
Il s'agit du code HLSL responsable du ralentissement:
float3 ground = tex2D(GroundTex, multiTex).rgb;
float3 stone = tex2D(StoneTex, multiTex).rgb;
float3 grass = tex2D(GrassTex, multiTex).rgb;
float3 blend = tex2D(BlendMapTex, blendMap).rgb;
Suis-je en train de mal faire? Si quelqu'un a des informations ou des conseils sur l'échantillonnage de texture ou quoi que ce soit, ce serait bien.
Merci.