от
Я хочу разместить 100 плавающие кубики, используя
DirectX
или
OpenGL
. Я ищу какой-либо образец исходного кода или описание техники. У меня проблемы при получении более одного куба для правильного отображения. Я проверил в интернете хорошая серия учебники и хотя они говорят о том, как сделать примитивы
3D
, что я не могу найти информацию о том, как делать большое количество
3D
примитивы -
cubes
,
spheres
,
pyramids
, и так далее.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

4 Ответы

0 голосов
от
Я хочу разместить 100 плавающие кубики, используя
DirectX
или
OpenGL
. Я ищу какой-либо образец исходного кода или описание техники. У меня проблемы при получении более одного куба для правильного отображения. Я проверил в интернете хорошая серия учебники и хотя они говорят о том, как сделать примитивы
3D
, что я не могу найти информацию о том, как делать большое количество
3D
примитивы -
cubes
,
spheres
,
pyramids
, и так далее.
0 голосов
от
Вы говорите, у вас достаточно проблем один кубик на дисплей... так что я не уверен, если вы получили один, чтобы отобразить или нет. В принципе... поставить свой код для записи куб в одной функции, а потом просто вызывать эту функцию 100 раз.
void DrawCube()
{
    //code to draw the cube
}

void DisplayCubes()
{
    for(int i = 0; i
0 голосов
от
Просто использовать glTranslatef (или DirectX эквивалент) рисовать куб, используя тот же код, но движется относительно точки, где вы его нарисуете. Может быть, есть лучший способ сделать это, хотя, я довольно новыми для OpenGL для. Будьте уверены, чтобы установить свою точку зрения, так что вы можете увидеть их все.
0 голосов
от
Да, если вы были эффективны, вы бы бросить все в один буфер вершин, но я не думаю, что рисунок 100 кубов будет толкать любого GPU, произведенных за последние 5 лет, так что вы должны быть в порядке следующие выше предложения. Напишите основные проходят через вершинный шейдер, однако тень вы желаете в пиксельном шейдере. Как пройти в мир матрицы и сделать перевод в вершинном шейдере, или просто вычислить позиции мировом пространстве вершины на стороне процессора (это можно сделать, если кубики останутся фиксированными). Вы можете получить фантазии и сделать геометрия инстансы и т. д., а просто получить основы первый.
...