Я использую GLUT для своей оконной системы для вывода некоторых изображений на экран.
Я также хочу выводить изображения в файлы. Это было проблемой. В некоторых разрешениях окна (например, 256x256, 1024x1024, 1920x1200) glReadPixels создает те же файлы изображений, что и экран. Однако, когда я изменяю размер окна (например, 655x652, 529x566 и выполняю захват экрана), изображения загибаются и кажется, что пиксели смещены линейно.
Любая помощь будет оценена!
РЕДАКТИРОВАТЬ - я добавляю некоторый код, приводящий к вызову glReadPixels.
glGetIntegerv(GL_VIEWPORT, dimensions);
width = dimensions[2];
height = dimensions[3];
screencapture = (unsigned char*)malloc(width*height*sizeof(unsigned char));
glReadPixels(0,0,width, height, GL_GREEN, GL_UNSIGNED_BYTE, screencapture);
EDIT2 - я забыл упомянуть, что изменение размера окна мышью иногда приводило к получению хороших изображений. Я думаю, это происходит, когда я получаю правильное разрешение.