Rather than having to explicitly provide a texture coordinate for each vertex, we can use texture coordinate generation (texgen) functions to have OpenGL automatically compute texture coordinates.
This uses the function glTexGen, and the glEnable modes GL_TEXTURE_GEN_S & GL_TEXTURE_GEN_T.
GLfloat planeCoefficients[4] = { 1, 0, 0, 0 }; glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR); glTexGenfv(GL_S, GL_OBJECT_PLANE, planeCoefficients); glEnable(GL_TEXTURE_GEN_S); glBegin(GL_QUADS); glVertex3f(-3.25, -1, 0); glVertex3f(-1.25, -1, 0); glVertex3f(-1.25, 1, 0); glVertex3f(-3.25, 1, 0); glEnd();
Example: contour.cpp