4

所以我知道 glDrawPixels 已被弃用。有没有做同样事情的功能?我想过使用纹理,但它们是由当前矩阵修改的,与 glDrawPixels 绘制的像素不同。

4

3 回答 3

2

我想过使用纹理,但它们被当前矩阵修改

“当前矩阵”在 3.0 中已弃用,在 3.1+ 中也已删除。因此,如果您不使用glDrawPixels,则也不会使用矩阵函数。所以没什么好担心的。

于 2012-08-22T12:11:07.983 回答
1

您需要绘制一个四边形:

  • 一个特定的 ModelViewProjection 矩阵,它将把它放在你想要的位置(正如 Nicol 所说,不再有“当前”矩阵)
  • 一个简单的顶点着色器,它将使用所述矩阵来实际变换顶点
  • 一个简单的片段着色器,它将对纹理进行采样
  • 当然,足够的纹理坐标。

对于初学者,请使用单位矩阵和 X 和 Y 坐标介于 0 和 1 之间的网格。

您可能想要混合使用http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/http://www.opengl-tutorial.org/intermediate-tutorials /tutorial-11-2d-text/(虽然后一个应该在使用的矩阵方面进行改进)

于 2012-08-23T13:22:47.310 回答
1

您可以使用片段着色器,其中的函数gl_FragCoord用于对矩形纹理进行采样。

或者,您可以使用更传统的方法,只需设置转换矩阵以近似窗口的像素坐标系,然后使用图像绘制带纹理的四边形。

于 2012-08-22T12:22:47.217 回答