0.375

例えば画面が640x480ピクセルだった場合、座標の値としては、原点が端っこのピクセルの中心にある場合は(0, 0)-(639, 479)、原点が端っこのピクセルの更に境界にある場合は(0, 0)-(640, 480)がありえます。
OpenGLでは、後者の考え方を取っており、更にデフォルトでは画面全体が(-1, -1)-(+1, +1)とマップされています。
そこに次のような変換行列を設定すれば、物理的なピクセルに対応した座標系にリマップできます。

| 2/w 0 0 -1 |
|  0 2/h 0 -1 |
|  0  0  1  0 |
|  0  0  0  1 |

これで(1,1)-(3,3)の範囲に四角のポリゴンを描くと、こうなります。座標の軸がピクセル境界を通ることに注意。

□□□□
□■■□
□■■□
□□□□

またOpenGLは、ポリゴンだけではなくてGL_LINE_STRIP等を指定すると直線も引けます。(0,0)-(0,3)の範囲に直線を引くとこうなります。

□□□□
□□□□
□□□□
□□□□ あれ……何も表示されない……

(1,1)-(1,3)-(3,3)-(3,1)-(1,1)とぐるっと線を引くとこうなります。

□□□□
■■■□
■□■□
□■■□ !?

(0.5,0.5)-(0.5,3.5)-(3.5,3.5)-(3.5,0.5)-(0.5,0.5)とぐるっと線を引くとこうなります。

■■■■
■□□■
■□□■
■■■■ おk

種明かし。なんとOpenGLは、境界ちょうどぴったりに点を打とうとすると、負方向のピクセルを選びます!ふつー正方向にするよなあ!?
これでは同じ範囲を指定しても、ポリゴンを描いた時と線を引いた時で1ピクセルずれますし、線で四角形を描くと角の1ピクセルが欠けてしまいます。派手で緻密な3Dグラフィックスなら影響はないでしょうが、精密な図面やUI要素を描画するときは非常に不便と言わざるを得ません。まあ意識して0.5を足したり引いたりすればよいのですけれど、他のグラフィクスライブラリと同じ様に使えないのは非現実的です。
それに対するFAQがこれ!

glTranslatef (0.375, 0.375, 0.);

http://www.opengl.org/resources/faq/technical/transformations.htm

座標系を0.375ずらすことで、(0,0)を通るはずの線は(0.375,0.375)を通り、正方向のピクセルが選ばれて思い通りの線が描ける……というものらしいです。もちろんGL_FLAT前提。GL_SMOOTHにすると色々ピンぼけします。

……。

………。

いやまあいいんですけどね?