好吧,我正在使用VBO绘制一个正方形(坐标为0,0 1,0 1,1 0,1
),我这样绘制它:
glTranslatef(200, 100, 0);
glScalef(200, 200, 0);
square_draw(); // Draws the square
这没有着色器。它工作正常。但是,当我想用着色器(对于图像)绘制它时,它可以工作,但是它会在屏幕的右上角绘制,完全忽略平移和缩放。
现在我知道为什么会这样:OpenGL有一个坐标系统,在中心设置0,0
,屏幕上有-1,-1
和1,1
。
所以我想知道的是:是否可以使用像素坐标系?如上所示,0,0
是左上角,1,1
是左上角的一个像素,等等...