纹理读入opengl的最简单格式是什么?是否有任何教程 - 好的教程,用于将 jpg、png 或 raw 等图像格式加载到可用于纹理映射的数组中(最好不使用像 libpng 这样的库)?
OpenGL本身对常见的图像格式一无所知(除了本机支持的S3TC/DXT压缩和类似格式,但它们是另一回事)。您需要将源图像扩展为 RGBA 数组。支持多种格式和组合。您需要选择适合您的一种,例如GL_ALPHA4用于蒙版,GL_RGB5_A1用于 1 位透明度,GL_BGRA/GL_RGBA 用于全彩等。
对我来说,最简单(不是最快的)方法是PNG,因为它们的无损压缩和完整的Alpha支持。我读取PNG并将RGBA值写入数组,然后将其移交给OpenGL纹理创建。如果你不需要alpha,你也可以接受JPG或BMP。管道是常见的源 -> 扩展的 RGBA 数组 -> OpenGL 纹理。
链接中有一个方便的OpenGL纹理教程:http://www.nullterminator.net/gltexture.html