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