OpenGL: Fechar janela apertando Esc

05/11/2010 09:00 | OpenGL | 1 Comentário »

Sabe, esse é o tipo de coisa que quando você percebe, pensa: “puxa, como eu consegui programar até agora sem isso?”.

Sim, pois é algo tão simples de implementar que pensei duas vezes antes de escrever um post a respeito, mas como não tinha me dado conta até agora então creio que pode ser útil para alguém.

Se este é o seu caso, então vamos lá! ;D

Antes de mais nada, defina um int como variável global para receber o id da janela de sua aplicação:

int winId;

No seu main, faça a seguinte alteração no seu glutCreateWindow:

winId = glutCreateWindow("Minha Janela");

Depois disso, vá até a sua função que mapeia teclas normais (glutKeyboardFunc) e acrescente:

if(tecla == 27){glutDestroyWindow(winId); exit (0);}

Pronto! Seja feliz sem tocar no mouse para fechar a janela! :)


OpenGL: Show me the code!

28/09/2010 11:30 | OpenGL | Sem Comentários »

Buenas, alguns colegas pediram o código do meu jogo de corrida que fiz para a disciplina de OpenGL, então segue abaixo um copypasta totalmente sem edição depois do break!

Até peço desculpas, mas o código é longo, não organizado ou tampouco revisado/otimizado, e está bem pouco comentado.

Pretendo comentar alguns pontos que considero relevantes em posts separados por aqui (como o debug das bounding boxes – ver imagem ao lado).

Qualquer dúvida deixe comentário!

[]‘s

Leia Mais »


OpenGL: Remover delay do teclado

12/09/2010 14:30 | OpenGL | 1 Comentário »

Quando usamos funções de teclado no OpenGL há um atraso perceptível entre o tempo que seguramos uma tecla e o momento em que o objeto começa a se mover efetivamente. Mesmo assim, ao mover o objeto, eles parecem meio trancados, ou movimentando-se em quadro-a-quadro, repararam?

Bem, como as funções de callback glutKeyboardFunc e glutSpecialFunc são ativadas toda vez que o seu teclado envia o caractere, então este atraso nada mais é do que a taxa de repetição que o seu teclado está configurado. Aumentar a taxa de repetição do teclado? Não, né?

Para resolver isso, vamos conhecer um pequeno truque que irá utilizar duas outras funções de callback: glutKeyboardUpFunc e glutSpecialUpFunc.

Vamos nessa!

Leia Mais »