I am trying to render a textured quad in ortho mode. When I render it as a rectangle, it works fine, as this picture shows:
However, when I try to move one corner half way to the center, the texture gets weirdly skeeved:
Notice the red line going up. I would think that it should be sloped towards the upper right corner, but it's rendered straight up. Is this normal? There is only one textured quad in this picture, rendered using fixed function pipeline. The texture coords are all either 0 or 1 in the corners. Why is the texture rendered like this?
OpenGL can only correctly render planar quads (quads where the four vertices are on a plane). Due to the way the position and texture coordinates interact to form vertices, your quad isn't planar anymore when you shift the position like that without altering the texture coordinate.