Android OpenGL ES drawArray与像素而不是范围[-1,1]

时间:2012-05-05 10:03:25

标签: android opengl-es glsurfaceview

我是openGL的新手,想在GLSurfaceView上画线。

我从canvas切换到openGL的原因。

我知道OpenGL更有可能用于3D绘图,因此不会使用像素。

我想像线条一样绘制2D图形,但需要像素尺寸,只需要没有第三维的x和y值。

1 个答案:

答案 0 :(得分:0)

正确设置投影和查看矩阵。首先,使用正交投影,第二个假身份。

P = Diagonal(2 / W, 2 / H, 2 / (10 + 10), 1)
// Assume Znear=-10, ZFar=10, W and H are width and Height of the screen.

所以你看到的坐标会在立方体-W / 2到W / 2,-H / 2到H / 2和-10到10之间。你甚至可以在视图矩阵中转换来从-W / 2移动原点, -H / 2到0,0转换视图矩阵:V = Translate(W/2, H/2, 0)