Как добавить цикл for в проекте DirectX 10?

Прежде чем я обращаюсь за помощью, я хотел бы упомянуть, что я очень плохо знаком с DirectX и да, я знаю, как кодировать на C ++. Но я получаю ошибки, когда пытаюсь выполнить домашнее задание.

Домашнее задание простое. Нарисуйте круг (используя минимум 20 треугольников) и нанесите текстуру на круг. Нет проблем. Но я должен создать вершины, используя цикл For. Это то, что я до сих пор:

double x = 0.1;
double y = 1.0;
double z = 0.5;
double xin = 0.3;
double yin = -0.1;

// Create vertex buffer
SimpleVertex vertices[] =
{

for (int i = 0; i < 4; i++) {
XMFLOAT3(0.0f, 0.0f, zf),
XMFLOAT3(xf, yf, zf),
XMFLOAT3((x+xin)f, (y+yin)f, zf),
}};

Я не закончил добавлять весь код, который хочу сделать кругом. Это скорее пробный запуск. Но я получаю ошибку на моем цикле. Кажется, он не хочет читать for, ожидал выражения. Я попытался поместить цикл For вне SimpleVertex, и он работает.
Как бы я добавил цикл для создания моего круга?
Спасибо за помощь нубу.
Я бы подождал до рабочего дня, но сейчас рабочий день, и я был на нем все выходные.

0

Решение

У вас есть for цикл в объявлении, что вы не можете сделать. Вы должны объявить vertices сначала инициализируйте его for цикл:

int main()
{
// Declare your vertices:
const auto maxVertices = 20;
SimpleVertex vertices[maxVertices];

// Initialise the vertices in a for loop
for (int i = 0; i < maxVertices; ++i)
{
vertices[i].Position = /* calculate position */
}
}

Скорее всего, вы будете использовать i рассчитать одну из позиций, что-то вроде:

vertices[i].Position = { i * x, y, z };
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector