Exemplo n.º 1
0
void drawRightTop()
{
    
    glViewport(width/2.0, height/2.0, width/2.0, height/2.0);
    glEnable(GL_DEPTH_TEST);
    enableLight();
    
    switch(displayMode)
    {
        case DISPLAY_MODE_DEFAULT :
            geometryHandler->drawSurfaces();
            break;
    }
    
    disableLight();
    glDisable(GL_DEPTH_TEST);
    
}
Exemplo n.º 2
0
int main()
{
   // Inicialização da biblioteca. Deve ser chamado antes de qualquer outra função da GLFW.
   glfwInit();
   p = new Input();
   initMyClasses();
   zoom = 3000;
   zoomz = 1500;
   // Seta janela para ser não redimensionavel.
   glfwOpenWindowHint(GLFW_WINDOW_NO_RESIZE, GL_TRUE);
   // Abre janela, com tamanho 800x600, 8 bits de cor, 24 de profundidade, e 8 de stencil.
   glfwOpenWindow(800, 600, 8, 8, 8, 8, 24, 8, GLFW_WINDOW);

   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   gluPerspective(45, 800/600, 1, 50000);
   glMatrixMode(GL_MODELVIEW);
   glViewport(0, 0, 800, 600);

   glfwSetKeyCallback(functionname);

   enableLight();

   glEnable(GL_NORMALIZE);

   glShadeModel(GL_SMOOTH);

   bool running = true;

   while (running)
   {
      // Verifica se a tecla R esta pressionada.
      // Para receber eventos imediatamente quando uma tecla é pressionada (para, por exemplo, entrada de texto), registre
      // uma callback usando glfwSetKeyCallback/glfwSetCharCallback. (Consulte o manual.)
      if(p->keyboard['Q'])
      {
         if(mCarro->_minha_base->_marcado!= NULL)
            mCarro->_minha_base->_marcado->aumentaAngulo();
      }else if(p->keyboard['E'])
      {
         if(mCarro->_minha_base->_marcado != NULL)
            mCarro->_minha_base->_marcado->diminuiAngulo();
      }
      if(p->keyboard[(char)285])
      {
         mCarro->_minha_base->aumentaAngulo();
      }else if(p->keyboard[(char)286])
      {
         mCarro->_minha_base->diminuiAngulo();
      }

      if(p->keyboard['A'])
      {
         mCarro->aumentaAngulo();
      }else if(p->keyboard['D'])
      {
         mCarro->diminuiAngulo();
      }

      if(p->keyboard['W'])
      {
         mCarro->aumentaVelocidade();
      }else
      {
         mCarro->diminuiVelocidade();
      }

      if(p->keyboard['S'])
      {
         mCarro->diminuiVelocidade();
      }
      if(p->keyboard['Z'])
      {
         if(zoom < 6000){
            zoom += 20;
            zoomz += 10;
         }
      }else if(p->keyboard['X'])
      {
         if(zoom > 1500){
            zoom -= 20;
            zoomz -= 10;
         }
      }

      mCarro->update();
      // Pega a posição atual do mouse dentro da janela.
      int xpos, ypos;
      glfwGetMousePos(&xpos, &ypos);

      b = (float)xpos / 800.f;


      render();

		// Se a janela foi fechada, pare o loop.
		running = glfwGetWindowParam(GLFW_OPENED) != 0;
	}

	// De-inicializa a GLFW.
	glfwTerminate();
}