Поэтому я пишу небольшую игру с использованием Direct3D 9 и использую мультитекстурирование для ландшафта. Все, что я делаю, это сэмплирую 3 текстуры и карту наложения и получаю общий цвет из трех текстур на основе цветовых каналов с карты наложения. В любом случае, я получаю значительное падение частоты кадров, когда беру более 1 текстуры, я делаю скорость от 120+ кадров в секунду до чуть менее 50.
Это код HLSL, ответственный за замедление:
float3 ground = tex2D(GroundTex, multiTex).rgb;
float3 stone = tex2D(StoneTex, multiTex).rgb;
float3 grass = tex2D(GrassTex, multiTex).rgb;
float3 blend = tex2D(BlendMapTex, blendMap).rgb;
Я делаю это неправильно? Если у кого-то есть информация или советы по сэмплированию текстур или что-то еще, это было бы неплохо.
Спасибо.