Бесконечная генерация точек в приложении opengl (Генерация точек)

Пишу/разбираюсь с Qt+Gl (пока использую QGLWidget).

Столкнулся с таким нюансом. Нужна генерация точек в определённом отрезке, чтобы отрисовать рандомно точки(Поясню 1 точку в 20 секунд при обновлении интерфейса, далее например в 15, 10 и 5! Очень важно по 1 точке). При реализации, что ниже, точка генерируется рандомно!

Но либо посекундно меняя свое положение, либо с большей частотой. Пока пользуюсь встроенным update(). Если отключить update() в этой части обработки, тогда точка не генерирует миллион точек.

Как правильно это проделать? При обновлении-постоянном State Machine генерировать точечно когда надо точку. Так же приложил исходники кому интересно.

void glSnake::_draw_fruits() {
auto aw = glSnake::width();
auto ah = glSnake::height();
glViewport(0, 0, (GLint)aw, (GLint)ah);
glLoadIdentity();
glOrtho(0, aw, ah, 0, 0, 1);
glPointSize(10);
srand((unsigned int)time(NULL));
int fx = rand() % (aw - 22);
int fy = rand() % (ah - 22);
//srand(150);
glBegin(GL_POINTS);
glVertex2i(fx, fy);
glEnd();
}

classhpp

clascpp maincpp


Ответы (0 шт):