2012-01-10 49 views
1

我有一个场景,我添加和操作对象(我在制作渲染器)。GLUT:在运行时添加菜单项

我希望我添加的每个照相机/物体出现在子菜单上。我正在使用freeglut。

我当前只是调用initMenu()函数,该函数创建菜单,每次添加或删除一个对象时,都会在我的对象数据库上运行一个循环。但它非常缓慢。

回答

0

这很简单。当你第一次创建你的子菜单中,您收到的内部ID作为返回值:

int submenu = glutCreateMenu(menu); 

后来,当你想另一个菜单项添加到这个子菜单中,你必须设置:

glutSetMenu(submenu); 

然后你就可以在新的价值简单地添加到菜单:

glutAddMenuEntry("New submenu entry", 55); 

虽然freeglut不提供文档,你可以尝试,如果它涵盖了glut documentation。 (虽然我不知道freeglut覆盖了多少功能)。