Exemplo n.º 1
0
void inicializaVentana(GLsizei ancho,GLsizei alto)
{
	altoVentana=alto;
	anchoVentana=ancho;
 
  	glViewport(0,0,ancho,alto);	 // Establecemos el Viewport usando la nueva anchura y altura de la ventana X

  	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	
	fijaProyeccion();	// Cargamos la transformacion de proyeccion

}
Exemplo n.º 2
0
void letra (unsigned char k, int x, int y)
{
  switch (k) {
  case 'h':
  case 'H':
           printHelp(); // H y h imprimen ayuda
  	break;
  case '3':
	VISTA_PERSPECTIVA= 1; 
	estado= paseando;
	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity();
	fijaProyeccion();
	break;
  case '2':
	VISTA_PERSPECTIVA= 0;
	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity();
	fijaProyeccion();
	break;
  case 'x':	// desplaza la camara en X
     if(VISTA_PERSPECTIVA) x_camara -= 5.0;   
     else origenXVentanaMundoParalelo-=5;
    break;
  case 'X':
     if(VISTA_PERSPECTIVA) x_camara += 5.0;   
     else origenXVentanaMundoParalelo+=5;
    break;
  case 'z':	// desplaza la camara en Z
     if(VISTA_PERSPECTIVA) z_camara -= 5.0;   
     else origenYVentanaMundoParalelo-=5;
    break;
  case 'Z':
    if(VISTA_PERSPECTIVA) z_camara += 5.0;   
    else origenYVentanaMundoParalelo+=5;
    break;
	case 'Y':	//Para modificar la camara en Y
		if(VISTA_PERSPECTIVA) y_camara += 1.0;
		else origenYVentanaMundoParalelo -=1;
		break;
	case 'y':
		if(VISTA_PERSPECTIVA) y_camara -= 1.0;
		else origenYVentanaMundoParalelo +=1;
		break;
  case '+':             // + Camara mas cerca
    if(ventanaMundoParalela>10) ventanaMundoParalela = ventanaMundoParalela*0.75;
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    fijaProyeccion();
    break;
  case '-':             // - Camara mas lejos
    ventanaMundoParalela =ventanaMundoParalela* 1.25;
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    fijaProyeccion();
    break;
  case 27:  // Escape  Terminar
    exit(0);
    break;  
  default:
    return;
  }
glutPostRedisplay();  	// Algunas de las opciones cambian paramentros
}                       // de la camara. Es necesario actualziar la imagen