Я работаю над проектом, в котором у меня есть окно opengl и окно gtk, теперь я хочу иметь возможность управлять opengl из gtk.
В окне Gtk у меня есть кнопка, которая вызывает генератор изображений, и после этого я хотел бы перерисовать окно opengl, чтобы увидеть результат, но если я вызову функцию отображения из обратного вызова с нажатой кнопкой, ничего не произойдет. Единственное, что до сих пор работало, это когда я установил glutIdleFunc на свою функцию отображения, таким образом, окно opengl постоянно перерисовывалось, однако мне кажется, что должен быть лучший способ. Также я попробовал glutTimerFunc для проверки условных переменных, но опять же, есть ли лучший способ.
Моя идея состоит в том, чтобы иметь возможность сообщать/сигнализировать/вызывать непосредственно функцию отображения opengl или заставлять glutMainLoop выполнять итерацию всякий раз, когда я нажимаю кнопку, но я действительно не знаю, как это сделать.
Любые идеи?