Чтение байтового массива изображения с помощью OpenGL - PullRequest
2 голосов
/ 05 сентября 2011

У меня есть растровое изображение, которое в настоящее время представлено в виде байтового массива (может быть YCrCb или RGB).Есть ли встроенная в OpenGL функция, которая позволит мне просматривать отдельные пиксели этого байтового массива?

Я знаю, что есть функция glReadPixels, но мне не нужно читать из буфера кадраЯ уже получил данные.

Если нет, есть ли альтернативный способ сделать это в C ++?

1 Ответ

6 голосов
/ 05 сентября 2011

OpenGL - это API для рисования, а не какая-то универсальная графическая библиотека. Символ 'L' в OpenGL означает, что следует читать как слой, а не как библиотеку.

При этом: если вам известны размеры байтового массива и расположение данных, то выборка отдельных пикселей тривиальна.

pixel_at(x,y) = data_byte_array[row_stride * y + pixel_stride * x]

в плотно упакованном формате

pixel_stride = bytes_per_pixel
row_stride = width * pixel_stride
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...