glBitmap和glTexImage2D之间的区别

时间:2012-02-12 18:30:09

标签: opengl

我需要在openGL窗口中显示图像 图像会改变每个计时器的时间 我已经检查了谷歌如何,并且我可以看到它可以使用或 glBitmap glTexImage2D 功能完成。
他们之间有什么区别?

2 个答案:

答案 0 :(得分:1)

区别?这两个功能没有任何共同之处。

glBitmap是绘制二进制图像的函数。这不是.BMP文件或您加载的图像(通常)。函数的名称不是指口语术语“位图”。它指的是:比特图。位图中的每个位代表像素。如果该位为1,则当前光栅颜色将写入帧缓冲区。如果该位为0,则帧缓冲区中的像素不会被更改。

glTexImage2D用于为其分配textures和可选uploading pixel data。您可以稍后绘制具有映射到它们的纹理的三角形。但是glTexImage2D本身并没有画任何东西。

答案 1 :(得分:1)

您可能正在寻找的是glDrawPixels,它将图像直接绘制到帧缓冲区中。如果使用glTexImage2D,则必须首先使用新图像更新纹理,然后使用该纹理绘制一个形状(例如,全屏四边形)以实际渲染图像。

那就是说,如果...... {/ p>,glTexImage2D会更好

  • 您正在使用像JOGL这样的库,它可以使图像中的绑定纹理变得简单,或者
  • 您希望缩放图像或以透视方式显示