Exemple #1
0
void Renderer::drawMan() {
	const Man& man = _gameState.man();
	glTranslatef(man.pos().x, man.pos().y, 0.0f);

	drawLimb(man.leftArm());
	drawLimb(man.rightArm());
	drawLimb(man.leftLeg());
	drawLimb(man.rightLeg());
}
Exemple #2
0
void Frog::draw () {
   if (animate)
      for (int i = 0; i < 10; ++i)
         nextFrame();

   glPushMatrix();

   glTranslatef(0, 0, pos[2]);

   float specReflection[] = { 0.5f, 0.9f, 0.5f, 1.0f };
   glMaterialfv(GL_FRONT, GL_SPECULAR, specReflection);
   glMateriali(GL_FRONT, GL_SHININESS, 84);

   float joint[3];

   for (int i = 0; i < 4; ++i) {
      joint[0] = 0;
      joint[1] = 0;
      joint[2] = 0;

      joint[0] += legs[i].toe[0];
      joint[1] += legs[i].toe[1];
      joint[2] += legs[i].toe[2];
      drawLimb(joint, legs[i].ankle);

      joint[0] += legs[i].ankle[0];
      joint[1] += legs[i].ankle[1];
      joint[2] += legs[i].ankle[2];
      drawLimb(joint, legs[i].knee);

      joint[0] += legs[i].knee[0];
      joint[1] += legs[i].knee[1];
      joint[2] += legs[i].knee[2];
      drawLimb(joint, legs[i].hip);
   }

   joint[0] += legs[3].hip[0];
   joint[1] += legs[3].hip[1];
   joint[2] += legs[3].hip[2];

   glPopMatrix();

   //specReflection = { 0.3f, 0.3f, 0.3f, 1f };
   specReflection[0] = 0.1f;
   specReflection[1] = 0.8f;
   specReflection[2] = 0.1f;
   glMaterialfv(GL_FRONT, GL_SPECULAR, specReflection);
   glMaterialfv(GL_FRONT, GL_DIFFUSE, specReflection);
   glMateriali(GL_FRONT, GL_SHININESS, 126);

   Sphere body;

   glPushMatrix();
   glTranslatef(0, joint[1], joint[2] - .7);
   glTranslatef(0, 0, pos[2]);
   glRotatef(-20, 1, 0, 0);
   glScalef(.8, .6, 1.2);
   body.draw();
   glPopMatrix();

   glPushMatrix();
   glTranslatef(0, .75 + joint[1], .5 + joint[2]);
   glTranslatef(0, 0, pos[2]);
   glScalef(.7, .7, .7);
   body.draw();
   glPopMatrix();
}
void QKinectWrapper::drawSkeleton(QPainter *painter)
{
	for(unsigned i=0;i<bodies.size();i++)
	{
		drawLimb(painter,bodies[i],QKinect::Head,QKinect::Neck);

		drawLimb(painter,bodies[i],QKinect::Neck,QKinect::LeftShoulder);
		drawLimb(painter,bodies[i],QKinect::LeftShoulder,QKinect::LeftElbow);
		drawLimb(painter,bodies[i],QKinect::LeftElbow,QKinect::LeftHand);

		drawLimb(painter,bodies[i],QKinect::Neck,QKinect::RightShoulder);
		drawLimb(painter,bodies[i],QKinect::RightShoulder,QKinect::RightElbow);
		drawLimb(painter,bodies[i],QKinect::RightElbow,QKinect::RightHand);

		drawLimb(painter,bodies[i],QKinect::LeftShoulder,QKinect::Torso);
		drawLimb(painter,bodies[i],QKinect::RightShoulder,QKinect::Torso);

		drawLimb(painter,bodies[i],QKinect::Torso,QKinect::LeftHip);
		drawLimb(painter,bodies[i],QKinect::LeftHip,QKinect::LeftKnee);
		drawLimb(painter,bodies[i],QKinect::LeftKnee,QKinect::LeftFoot);

		drawLimb(painter,bodies[i],QKinect::Torso,QKinect::RightHip);
		drawLimb(painter,bodies[i],QKinect::RightHip,QKinect::RightKnee);
		drawLimb(painter,bodies[i],QKinect::RightKnee,QKinect::RightFoot);

		drawLimb(painter,bodies[i],QKinect::LeftHip,QKinect::RightHip);
	}
}