У меня проблема в игре, которую я написал с XNA. Недавно я добавил текстурированные полигоны и увидел, что каждый текстурированный полигон имеет одну и ту же текстуру, хотя я изменил ее перед вызовом. Код, который я использую:
if (countMeshes > 0)
{
for (int i = 0; i < countMeshes; i++)
{
TexturedMesh curMesh = listMeshes[i];
if (curMesh.tex == null)
{
drawEffect.Texture = WHITE_TEXTURE;
}
else
{
drawEffect.Texture = curMesh.tex;
}
drawEffect.Techniques[0].Passes[0].Apply();
graphics.DrawUserPrimitives(PrimitiveType.TriangleList, curMesh.verts, 0, curMesh.count);
}
}
Теперь первое, что мне пришло в голову, - это создать базовый эффект для каждой текстуры, которую мне нужно нарисовать. Но я думаю, что это было бы немного излишним, поэтому мой вопрос: как мне это сделать?
PS: Я дважды проверил все, UV-координаты в порядке, и это 2D.