Я хочу скрести изображение из окна GLUT, которое было визуализировано в OpenGL.В стороне от обратного вызова дисплея я вставил этот код:
display() {
drawTriangle(); //Renders the image
if(shouldDisplay) {
shouldDisplay=0;
bytes = width*height*3; //Color space is RGB
buffer = (GLubyte *)malloc(bytes); //buffer is global var for now
glFinish();
glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, buffer);
}
glutSwapBuffers();
}
После запуска этого кода malloc начинает давать сбой.Ошибка ENOMEM, ошибка 12. Я недостаточно знаю об операционных системах или GLUT, чтобы понять, почему это происходит.Я только пытаюсь выделить 17К на машине с 3 ГБ.Я использую Windows XP и Visual Studio C ++ 2010 Express.Любая помощь или предложения приветствуются.