Есть трехмерный массив, вообще говоря, двоичных данных - либо клетка пустая, либо заполненная. Хочу рисовать массив кубов с соответствующими координатами, возмозожно, поворачивая камеру со временем.
Я не очень понял, как устроена работа с opengl - в туториалах я вижу следующий подход: 1. написали функцию для отрисовки сцены - в ней в туториалах обычно присутствует объект типа «красивый кубик», а также какая-нибудт команда поворота сцены 2. возможно, запилили реакцию на мышиные/клавиутарные события 3. инициализировали glut, пихнули первую функцию в glutDisplayFunc()
в результате имеем, например, вращающийся кубик.
Вопросы примерно такие: 1. Рисование куба - предлагается либо пользоваться glutWireCube и подобным (плохо тем, что рисуется «в фокусе», не принимает координаты центра), либо задать стопицот точек и по ним пройтись GL_LINE_LOOP или чем-то таким (неудобно тем, что много текста, каждый набор точек для, например, куба, приходится перечислять вручную) 2. Вот у них в примерах написано, что для рисования вращающегося куба нужно написать glrotatef в той функции, которую потом суют в glDisplayFunc - вращается, я так понимаю, только камера? С какой частотой она при этом поворачивается на угол, указанный среди параметров функции поворота? Где поменять временной интервал?
Хочется понять, как отвязать отрисовку объектов от их (или камеры) движения, а также разобраться с отрисовкой объектов по необходимости (в моем случае мне не хочется держать в памяти координаты всех вершин всех кубиков, даже тех, которые на данном шагу не видны).