在iOS上的OpenGL ES 2.0中创build一个16位亮度纹理

我有一个文件中的16位数据,我试图加载到iOS上的OpenGL亮度纹理。 如果我手动将16位值重新缩放到8位,我可以按如下方式加载和显示数据:

glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width, height, 0, GL_LUMINANCE,GL_UNSIGNED_BYTE, (void*)data_8bit); 

但我可以让glTexImage2D做从16位转换到8位?

查看OpenGL 2.0规范,16位types的允许值是:

GL_UNSIGNED_SHORT_5_6_5,GL_UNSIGNED_SHORT_4_4_4_4 GL_UNSIGNED_SHORT_5_5_5_1

没有GL_UNSIGNED_SHORT,我不认为我可以使用任何上述。

我正在使用iOS 5.1和Xcode 4.3.2。