0
如果我想在OpenGL畫一個平面,我會做類似下面:爲OpenGL繪圖形狀使用值而不是-1 ... 1?
glBegin(GL_POLYGON);
glColor3f(1.0, 1.0, 1.0);
glVertex3f(0.5, -0.5, 0.5);
glVertex3f(0.5, 0.5, 0.5);
glVertex3f(-0.5, 0.5, 0.5);
glVertex3f(-0.5, -0.5, 0.5);
glEnd();
這繪製一條(在兩個軸上-0.5到0.5)覆蓋在畫布上的50%的白色平面。然而,我想用數字代替。我不想使用-1到1,而是使用0到n之類的值,其中n是我畫布的尺寸。對於上面的例子,1000像素畫布上的兩個軸上的像250到750之類的東西,而不是-0.5到0.5。
+1用於解釋它,-1用於將着色器推薦作爲答案的一部分(而不是評論)。 – immibis
乾杯。我想'glOrtho'也可以把'( - 500,500,-500,500,...)'作爲參數嗎? – gator
glOrtho將浮點值作爲參數。你可以傳遞任何適合浮動的東西。 OpenGL不會「思考」像素。所有事情都以任意單位進行,只有在最後一步數字才轉換爲像素空間。 – datenwolf