如何在纹理图片中读入opengl

时间:2012-06-05 01:56:28

标签: opengl graphics textures

将纹理读入opengl的最简单格式是什么?是否有任何教程-good教程,用于将图像格式(如jpg,png或raw)加载到可用于纹理映射的数组中(最好不使用像libpng这样的库)?

2 个答案:

答案 0 :(得分:1)

链接上提供了一个方便的OpenGL纹理教程:http://www.nullterminator.net/gltexture.html

答案 1 :(得分:1)

OpenGL本身对常见的图像格式一无所知(除了本机支持的S3TC / DXT压缩和相似之外,但它们是一个不同的故事)。您需要将源图像扩展为RGBA阵列。支持格式和组合的数量。你需要选择一个适合你的,例如掩码为GL_ALPHA4,1位透明度为GL_RGB5_A1,全色为GL_BGRA / GL_RGBA等。

对我来说,最简单(不是最快)的方式是PNG,因为它们具有无损压缩和全Alpha支持。我读了PNG并将RGBA值写入数组,然后我将其移交给OpenGL纹理创建。如果您不需要alpha,您也可以接受JPG或BMP。管道是常见的来源 - >扩展的RGBA阵列 - > OpenGL纹理。