glBitmap(w, h, Xorig, Yorig, Xmove, Ymove, Image); Yorig doesn't work.

Hi, I’ve been puzzled with this function for some time now. I call
glBitmap(16, 16, 0, 0, 17,0, hourglass);
glBitmap(16, 16, 0, 33, 17,0, hourglass);
glBitmap(16, 16, 0, 0, 17, hourglass);

and the output looks like this: X X
where X is the hourglass.
I expected it to look like this:X X

Why Yorig=33 behaves like -33?
I don’t rotate or translate anywhere in my
code. I do have an orthographic projection of
glOrtho(0, w,0, h, -1.0, 1.0);
and I give glBitmap a valid raster position as well.

void glBitmap(
GLsizei width,
GLsizei height,
GLfloat xorig,
GLfloat yorig,
GLfloat xmove,
GLfloat ymove,
const GLubyte *bitmap

xorig and yorig are where the origin of your bitmap is stored. You are setting the origin at 0, 33 for a 16x16 bitmap. The origin of the image is measured from the lower-left of the bitmap, so you are setting your origin up above the image by 17 pixels. So… when the bitmap is drawn with the origin at the current raster position, the bitmap is drawn below the raster position.

I think what you actually want to be using is glRasterPos to position your bitmaps.

Thanks for the clarification.