Тому я пишу невеличку гру, використовуючи 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;
Чи я це роблю неправильно? Якщо хтось має будь-яку інформацію чи поради щодо відбору текстур чи чогось іншого, це було б добре.
Дякую.