Вариант ответа png: вывод в bmp. Создайте белое изображение того же размера в Paint (или все, что доступно на Mac), откройте его с помощью блокнота, изолируйте заголовок файла (для 800 * 600 это 42 4D 36 F9 15 00 00 00 00 00 36 00 00 00 28 00 -00 00 20 03 00 00 58 02 00 00 01 00 18 00 00 00-00 00 00 F9 15 00 00 00-00 00 00 00 00 00 00 00 00 00 00 00 00 00 27), добавьте результаты glReadPixels, flush , закрыть.
Так что да, много файлов, но обычно это не проблема, так как большинство приложений openGL не слишком часто используют жесткий диск.
(я знаю, это довольно грязно, но это самый простой способ реализовать - я делал это в поезде один раз, без какой-либо документации)