طریقه ایجاد منو از طریق تابع:

int id=glutCreateMenu(mymenu);

تعریف ورودی های منو (منظور همون گزینه های منو است)

glutAddMenuEntry("نام گزینه",id);

تعریف زیر منو از طریق :

glutAddSubMenu("نام زیر منو",id);

در اخر هم منو رو با یکی از کلیدهای موس متصل میکنیم:

glutAttachMenu(GLUT_RIGHT_BUTTON);

توضیح پارامترها برام سخت بود که بنویسمشون یه مثال گذاشتم:

#include

int s=-1;

void display(void)

{

    glClear(GL_COLOR_BUFFER_BIT);

if(s==0)

{

glClearColor(1.0,0.0,1.0,1.0);   //pink

     glClear(GL_COLOR_BUFFER_BIT);  

}

if(s==1)

{

glClearColor(0.0,0.0,1.0,1.0);   //blue

     glClear(GL_COLOR_BUFFER_BIT);  

}

if(s==2)

{

glClearColor(1,0,0,1);         //red

glClear(GL_COLOR_BUFFER_BIT);

}

    glFlush();

}

void mymenu(int id)

{

if(id==1)

s=0;

   glutPostRedisplay();

}

if(id==2)

exit(0);

if(id==3)

{

s=1;

glutPostRedisplay();

    }

if(id==4)

s=2;

   glutPostRedisplay();

}


}


int main(int argc, char** argv)

   {

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);

glutCreateWindow("Menu");

glutDisplayFunc(display);

////////////////////////////

int menu_ids=glutCreateMenu(mymenu);

glutAddMenuEntry("pink", 1);

glutAddMenuEntry("red",4);

glutAddMenuEntry("blue", 3);

int id_id=glutCreateMenu(mymenu);

glutAddSubMenu("COLORS",menu_ids);

glutAddMenuEntry("exit",2);


glutAttachMenu(GLUT_RIGHT_BUTTON);

////////////////////////////////////////////

    glutMainLoop();

return 0;

}