ファイルに 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 ビット型に許可されている値は次のとおりです。
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 を使用しています。