Não sei se esse é o local certo para duvidas com OpenGL. Mas vamos lá.
Comecei estudar OpenGL hoje (há 3 horas pra ser mais exato) e estou com um pequeno problema. Tenho um programa que não faz nada além de criar uma janela no padrão RGB, e eu queria fazer o seguinte, quando eu apertar a letra 'r' a cor da janela ficar vermelha (red) quando apertar 'g' ficar verder e 'b' azul, com direito a misturas, exemplo, se eu apertar 'r' e 'g' a janela ficar amarela (pois vermelho e verde cria o amarelo). O meu programa funciona? SIM! porém ele funciona assim... quando eu aperto "uma cor" sofre a mudança de cor, porém eu não vejo, para eu poder perceber eu tenho que maximizar a janela ou minimizar, exemplo, a janela esta branca eu aperto 'r' e ele continua branca mas quando eu maximizo/minimizo ela fica vermelha (muda de cor). Como eu falei comecei hoje e meu programa é super simples, espero que me ajudem, pois comprei um livro de um amigo meu mas não encontrei esse problema, e minha faculdade está de ferias e não tenho contato com nenhum prof.
Meu código (não está comentado, mas quem sabe OpenGL vai entender muito fácil pois isso é o básico do básico básico):
____________________________________
#include
#include
#include
GLfloat red = 0, green = 0, blue = 0;
void Desenha(void){
glClearColor(red,green,blue,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
void Inicializacao(void){
glMatrixMode(GL_PROJECTION);
glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void Teclado(unsigned char key, int x, int y){
switch(key){
case 114:
if(red == 0){
red = 1;
} else {
red = 0;
}
break;
case 103:
if(green == 0){
green = 1;
} else {
green = 0;
}
break;
case 98:
if(blue == 0){
blue = 1;
} else {
blue = 0;
}
break;
case 27:
exit(0);
break;
}
}
int main(int argc, char** argv){
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Minha janelinha");
Inicializacao();
glutDisplayFunc(Desenha);
glutKeyboardFunc(Teclado);
glutMainLoop();
return 0;
}

Dhenyson
Novo Membro
Registrado
10 Mensagens
0 Curtidas