void drawBody(int textureindex)
{
GLdouble car[7][2] = { {-1.93,0.3}, {-1.95,0.4}, {-2.2,0.6}, {-2.6,0.6}, {-2.82,0.4}, {-2.8,0.3}, {-2.78,0.0} };
GLUtesselator *tess = gluNewTess(); // create a tessellator
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textureLib[textureindex]);
glBegin(GL_POLYGON);
glTexCoord2f( 0.0 , 0.0 ); glVertex2f(-1.0 , 0.0 );
glTexCoord2f(-0.97, 0.0 ); glVertex2f(-1.97, 0.0 );
// Wheel arch
gluTessBeginContour(tess);
{
gluTessVertex(tess, car[0], car[0]);
gluTessVertex(tess, car[1], car[1]);
gluTessVertex(tess, car[2], car[2]);
gluTessVertex(tess, car[3], car[3]);
gluTessVertex(tess, car[4], car[4]);
gluTessVertex(tess, car[5], car[5]);
gluTessVertex(tess, car[6], car[6]);
}
gluTessEndContour(tess);
// Front of car
glTexCoord2f(-2.8 , 0.0 ); glVertex2f(-3.8 , 0.0 );
glTexCoord2f(-2.7 , 0.2 ); glVertex2f(-3.7 , 0.2 );
glTexCoord2f(-2.8 , 0.4 ); glVertex2f(-3.8 , 0.4 );
glTexCoord2f(-1.8 , 0.7 ); glVertex2f(-2.8 , 0.7 );
glTexCoord2f(-1.4 , 0.7 ); glVertex2f(-2.4 , 0.7 );
// Windscreen
glTexCoord2f( 0.0 , 1.0 ); glVertex2f(-1.0 , 1.0 );
glTexCoord2f( 1.5 , 1.05); glVertex2f( 0.5 , 1.05);
glTexCoord2f( 3.3 , 0.8 ); glVertex2f( 2.3 , 0.8 );
// Rear bumper
glTexCoord2f( 3.15, 0.5 ); glVertex2f( 2.15, 0.5 );
glTexCoord2f( 3.15, 0.3 ); glVertex2f( 2.15, 0.3 );
glTexCoord2f( 3.35, 0.3 ); glVertex2f( 2.35, 0.3 );
glTexCoord2f( 3.0 , 0.0 ); glVertex2f( 2.0 , 0.0 );
glTexCoord2f( 2.83, 0.0 ); glVertex2f( 1.83, 0.0 );
// Wheel arch
glTexCoord2f( 2.85, 0.3 ); glVertex2f( 1.85, 0.3 );
glTexCoord2f( 2.86, 0.4 ); glVertex2f( 1.86, 0.4 );
glTexCoord2f( 2.6 , 0.6 ); glVertex2f( 1.6 , 0.6 );
glTexCoord2f( 2.2 , 0.6 ); glVertex2f( 1.2 , 0.6 );
glTexCoord2f( 2.0 , 0.4 ); glVertex2f( 1.0 , 0.4 );
glTexCoord2f( 2.0 , 0.3 ); glVertex2f( 1.0 , 0.3 );
glTexCoord2f( 2.05, 0.0 ); glVertex2f( 1.05, 0.0 );
glEnd();
glDisable(GL_TEXTURE_2D);
}