示例#1
0
文件: Camera.cpp 项目: EEmmanuel7/pvr
Vector SphericalCamera::screenToWorld(const Vector &ssP, const PTime time) const
{
  SphericalCoords sc;
  sc.longitude = ssP.x * M_PI;
  sc.latitude  = ssP.y * (M_PI * 0.5);
  sc.radius    = ssP.z;
  Vector csP = sphereToCart(sc);
  return cameraToWorld(csP, time);
}
示例#2
0
void display( ) {
  glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();
  /* Fixed light Pos */
  GLfloat position[] = {15*sin(0.5*seconds), 0 , 15*cos(0.5*seconds)};
  glLightfv(GL_LIGHT0, GL_POSITION, position);
  /* Set up gluLookAt */
  double eyex, eyey, eyez;
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();
  sphereToCart(eyeTheta, eyePhi, eyeRho, &eyex, &eyey, &eyez);
  gluLookAt(eyex, eyey, eyez, 0,0,0, 0,0,1);

  drawTube();
 
  glutSwapBuffers();
}