OpenGL textures upside down?

I am trying to go through the GLSprite demo project and I understand most of it pretty well. The one thing I don't get is why the texture that is rendered is upside down. I turned off the glRotate() command to just look at the rendered polygon. It's upside down compared to the bitmap file in the project resources. Is there a way to reorder the vertices to get the texture to display the way it is in the PNG file? The polygon and texture vertices are defined as:

The way OpenGL loads pixel data is upside-down to the way most of the rest of the computing world works (OpenGL considers the first row of pixels to be the bottom one, and they go up from there), which produces images that appear to be upside-down when loaded and applied as a texture. The two most common ways I've seen to fix this are to flip your texture image vertically when it's loaded, or to invert the Y axis of your texture coordinates. To do the latter, in your example, you'd simply change your texture coordinates to this: