Esempio n. 1
0
void Base::draw()
{
	glPushMatrix();

		glTranslatef(x,0.0f,0.0f);

		// Draw a rectangle.
		glColor3f(0.58f,0.29f,0.0f);
		glBegin(GL_QUADS);
			glVertex2f(-1*(width/2),-15);
			glVertex2f(width/2,-15);
			glVertex2f(width/2,15);
			glVertex2f(-1*(width/2),15);
		glEnd();

		// Draw wheels.
		glPushMatrix();
			glTranslatef(-1.0f*(width/2.0f), 15.0f, 0.0f);
			wheels[0]->draw();
		glPopMatrix();

		glPushMatrix();
			glTranslatef((width/2.0f), 15.0f, 0.0f);
			wheels[1]->draw();
		glPopMatrix();

		// Draw attachments.
		for(int i = 0; i < 3; i++)
		{
			if(attachments[i])
			{
				glPushMatrix();
					glTranslatef( (-1.0f*(width/2.0f)+(i*(width/3.0f))), -25.0f, 0.0f );
					attachments[i]->draw();
				glPopMatrix();
				glPushMatrix();
					glTranslatef( (-1.0f*(width/2.0f)+(i*(width/3.0f))), -15.0f, 0.0f );
					Rotator *r = new Rotator();
					r->draw();
				glPopMatrix();
			}
		}

	glPopMatrix();
}