RE:congelar pantalla en opengl
Que tal, respecto a tu problema, no se si sepas que le puedes incorporar a tus aplicaciones OpenGL un capturador de eventos para realizar las instrucciones correspondientes, asi que si quieres detener el flujo de movimiento mediante una tecla, puedes incorporar la función "glutSpecialFunc(ControlKeyB)" dentro de tu main, donde "ControlKeyB" es el nombre de la función que se ejecutará cuando se genere el evento de teclado y recibe como parámetros un "int key" representativo de la tecla, un "int x" y un "int y" que son las coordenadas del mouse en ese instante.
Como se que puede ser un poco dificil de entender, te dejo un pseudocódigo que espero que te sirva.
parar = false
dibuja_escena(){
if(!parar)
/* se modifican los valores de posicion de los objetos que forman la escena */
/* se dibuja la geometría de la escena */
}
ControlKeyB(int key, int x, int y){
if(GLUT_KEY_PAGE_UP) // Si se presionó la tecla de retroceso de página
parar = true
if(GLUT_KEY_PAGE_DOWN) // Si se presionó la tecla de avance de página
parar = false
}
main(){
/* instrucciones iniciales */
inicializar_ambiente()
glutDisplayFunc(dibuja_escena)
glutSpecialFunc(ControlKeyB)
glutMainLoop()
}
Espero que les sirva´.
*** Nekro...