Я посмотрел несколько уроков о glReadPixels, но я запутался:
void glReadPixels (GLint x, GLint y, ширина GLsizei, высота GLsizei, формат GLenum, тип GLenum, данные GLvoid *)
Последний аргумент — пустота?
Я видел учебники, и они объявили аргумент как вектор, беззнаковый символ, GLubyte, …
Но что это на самом деле означает?
И вам нужно вызвать glPixelStoref (,)?
void*
C / C ++ говорит за «указатель на блок памяти». Цель glReadPixels
это взять некоторую часть кадрового буфера и записать данные пикселей в вашу память. data
Параметр — это ваша память, в которую он записывает.
Именно так какие он пишет и сколько зависит от параметры передачи пикселей, format
а также type
, Вот почему требуется void*
; потому что это может быть запись массива байтов, массива целых чисел, массива с плавающей точкой и т. д. Все зависит от того, что говорят эти два параметра.
Других решений пока нет …