Могу ли я создать всплывающее меню для изменения или изменения моего свойства light в OpenGL с помощью SDL?
Я пытаюсь использовать glutCreateMenu();
:
void mydisplay()
{
//glClear(GL_COLOR_BUFFER_BIT);
GLfloat tp_ambient[] = { 0.05,0.05,0.05,1 };
GLfloat tp_diffuse[] = { 0.7,0.3,1,1 };
GLfloat tp_specular[] = { 0.6,0.6,0.6,1 };
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, tp_ambient);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, tp_diffuse);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, tp_specular);
glPushMatrix();
glTranslatef(0.0f, 0.0f, -0.6f);
GLUquadricObj *quadric = gluNewQuadric();
gluSphere(quadric, 0.1, 16, 16);
gluDeleteQuadric(quadric);
glPopMatrix();
/*
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.0f, 0.0f, -0.1f);*/
glutCreateMenu(ProcessMenu);
glutAddMenuEntry("position change", 0);
glutAttachMenu(GLUT_RIGHT_BUTTON);
}
void ProcessMenu(int value) {
if (value == 0) {
GLfloat ambient[] = { 0.1,0.1,0.1,1 };
}
glutPostRedisplay();
}
Но я получаю эту ошибку:
Ошибка C2065 «ProcessMenu»: необъявленный идентификатор
Что я должен настроить?
Я использую правильный способ для создания всплывающего меню?
Если это полезно для просмотра всех моих кодов, пожалуйста, посмотрите на мой предыдущий, решенный вопрос.
Задача ещё не решена.
Других решений пока нет …