As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center作为指导。
                            
                        
                    
                
                                7年前关闭。
            
                    
我知道已经有a question了,但是它没有提供代码解决方案。

我正在尝试使用此功能将位图图像加载到GL应用程序中:

void glBitmap(GLsizei  width,
              GLsizei  height,
              GLfloat  xorig,
              GLfloat  yorig,
              GLfloat  xmove,
              GLfloat  ymove,
              const GLubyte *  bitmap);


有人可以给我一个函数,该函数返回给定文件名的GLubyte*吗?我一直在网上寻找一种有效的算法,但似乎什么也无法工作。

最佳答案

使用glBitmap显示图像的问题是您需要从文件中加载图像,然后将数据解释为颜色索引数组。由于每个可能的库和示例都将图像数据解释为RGB(或RGBA),并且由于需要使用glColorTable设置颜色表,因此没有人使用glBitmap加载图像,因此,没有真正的示例说明如何将glBitmap与数据一起使用从文件加载。

顺便说一下,这是来自glBitmap reference page


  位图图像的解释类似于glDrawPixels的图像数据
  命令,宽度和高度对应于宽度和高度
  该命令的参数,类型设置为GL_BITMAP,格式为
  设置为GL_COLOR_INDEX。


避免麻烦,并使用glDrawPixels或纹理显示文件中的图像。

This page包含示例如何使用glBitmap显示图像,而不是从文件显示图像的示例。

08-07 00:56