所以我知道 glDrawPixels 已被弃用。有没有做同样事情的功能?我想过使用纹理,但它们是由当前矩阵修改的,与 glDrawPixels 绘制的像素不同。
问问题
3280 次
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 回答