У меня есть консольная программа Qt, которая должна отображать сцену из нескольких точек обзора и сохранять каждый рендеринг в файл. Он работает следующим образом:Сохранение QGLPixelBuffer в файл дает пустое изображение
for(int k = 0; k < numberOfViewpoints; ++k)
{
RenderToQGLPixelBuffer(k);
QString fname = GetFileName(k);
QImage im = pixBuffer->toImage();
im.save(fname);
}
Если я так делаю, все изображения заканчиваются пустым. Однако, если я заставлю программу спать в течение одной секунды после сохранения изображения:
for(int k = 0; k < numberOfViewpoints; ++k)
{
RenderToQGLPixelBuffer(k);
QString fname = GetFileName(k);
QImage im = pixBuffer->toImage();
im.save(fname);
Sleep(1000);
}
затем он работает должным образом, и изображения получаются в порядке. Однако это значительно увеличивает время обработки. Любые идеи, как я могу решить эту проблему?