使用OpenGL读取图像字节数组

Reading image byte array with OpenGL

本文关键字:字节数 数组 字节 图像 OpenGL 读取 使用      更新时间:2023-10-16

我有一个位图图像,目前表示为字节数组(可以是YCrCb或RGB)。是否有一个功能内置到OpenGL中,允许我从这个字节数组中查看单个像素?

我知道有函数glReadPixels,但我不需要从帧缓冲区读取,如果我已经得到了数据。

如果没有,在c++中是否有其他方法可以做到这一点?

OpenGL是一个绘图API,而不是某种通用的图形库- OpenGL 中的'L'意味着应该被读取为 Layer,而不是library。

也就是说:如果你知道字节数组的尺寸和数据布局,那么获取单个像素是微不足道的。

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

紧凑格式

pixel_stride = bytes_per_pixel
row_stride = width * pixel_stride