Quote Originally Posted by phibermon View Post
glTranslatef(0.375, 0.375, 0.0);

That is the most important line of code for 2D opengl. disable mipmapping/filtering on textures. All coordinates as integers.

pixel perfect 2D. perfect for fonts and sprites
That shouldn't be the case... There was time when different graphics cards drew with a little different coordinates but i think modern cards know better to do it from 0,0.

If you draw a quad that fills the screen the coordinates are:
0,0-Width,Height
Do you see why it's not Width-1, Height-1? The same reason that if you want to draw a quad that fills 1 pixel only.
To show a pixel at 5,5 use quad coordinates 5,5 - 6,6. (Or use GL_POINTS at 5.5, 5.5)

But if you want to draw a GL_LINE on right edge:
(width-0.5, 0.5) - (width-0.5, height-0.5)
Because center of pixel is 0.5, 0.5.
A sprite for example wants to utilize the whole pixel so it starts from 0,0.