Fala pessoal! Estou fazendo um exemplo de um livro sobre openGl aqui,mas estão aparecendo alguns erros e eu não estou conseguindo entender o porquê.
O código é o seguinte:
[code]#include<stdio.h>
#include<GL/glut.h>
void Desenha(void)
{
printf("*** Callback de desenho na tela\n");
glClearColor(0.0f,0.0f,1.0f,1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glutSwapBuffers();
}
void AlteraTamanhoJanela(GLsizei w,GLsizei h)
{
printf("*** Callback de redimensionamento de janela\n");
printf(“Novo tamanho da janela: %d x %d \n\n”,w,h);
}
void Teclado(unsigned char tecla, int x, int y)
{
int modificadores;
printf("**Tratamento de teclas comuns\n");
printf(">>>> Tecla: %c\n",tecla);
if(tecla == 27)
exit(0);
if(tecla == 'a')
glutFullScreen();
if(tecla == 'A')
glutReshapeWindow(500,400);
glutPositionWindow(100,100);
modificadores = glutGetModifiers();
if(modificadores & GLUT_ACTIVE_SHIFT)
printf("(SHIFT pressionado)\n");
if(modificadores & GLUT_ACTIVE_CTRL)
printf("(CTRL pressionado)\n");
if(modificadores & GLUT_ACTIVE_ALT)
printf("(ALT pressionado)\n");
}
void TeclasEspeciais(int tecla, int x, int y)
{
printf("***Tratamento de teclas especiais\n");
switch(tecla)
{
case GLUT_KEY_F1:
printf(">>> Tecla F1 pressionada\n");
break;
case GLUT_KEY_F2:
printf(“Tecla F2 pressionada\n”);
break;
case GLUT_KEY_F3:
printf(">>>Tecla F3 pressionada\n");
break;
}
}
void GerenciaMouse(int button, int state, int x, int y)
{
printf("***Tratamento de cliques de mouse\n");
if(state == GLUT_DOWN)
printf(">>>Botão %d pressionado\n",button);
if(state == GLUT_UP)
printf(">>>Botão %d liberado\n",button);
}
void CriaMenu()
{
int menu,submenu1,submenu2;
submenu1 = glutCreateMenu(MenuCor);
glutAddMenuEntry("Vermelho",0);
glutAddMenuEntry("Verde",1);
glutAddMenuEntry("Azul",2);
submenu2 = glutCreateMenu(MenuPrimitiva);
glutAddMenuEntry("Quadrado",0);
glutAddMenuEntry("Triangulo",1);
glutAddMenuEntry("Losango",2);
menu = glutCreateMenu(MenuPrincipal);
glutAddSubMenu("Cor",submenu1);
glutAddSubMenu("Primitivas",submenu2);
glutAttachMenu(GLUT_RIGHT_BUTTON);
}
int janela()
{
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH | GLUT_RGB);
glutInitWindowPosition(0,0);
glutInitWindowSize(500,400);
glutCreateWindow("Teste da GLUT");
glutDisplayFunc(Desenha);
glutReshapeFunc(AlteraTamanhoJanela);
glutKeyboardFunc(Teclado);
glutMouseFunc(GerenciaMouse);
glutSpecialFunc(TeclasEspeciais);
CriaMenu();
glutMainLoop();
return 0;
}[/code]
Os erros que o compilador encontra são os seguintes:
error C2065: ‘MenuCor’ : undeclared identifier
error C2065: ‘MenuPrimitiva’ : undeclared identifier
error C2065: ‘MenuPrincipal’ : undeclared identifier
Alguem sabe o que pode ser? Já tentei resolver aqui, tentei achar algo sobre isso no google mesmo e nada.