【问题标题】:GLUT: adding menu entries at runtimeGLUT:在运行时添加菜单项
【发布时间】:2025-11-27 02:50:01
【问题描述】:

我有一个添加和操作对象的场景(我正在制作渲染器)。

我希望我添加的每个相机/对象都出现在子菜单中。我正在使用 freeglut。

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

【问题讨论】:

    标签: menu freeglut


    【解决方案1】:

    这很简单。当您第一次创建子菜单时,您会收到内部 id 作为返回值:

    int submenu = glutCreateMenu(menu); 
    

    稍后当您想向此子菜单添加另一个菜单项时,您必须对其进行设置:

    glutSetMenu(submenu);
    

    然后您可以简单地将新值添加到菜单中:

    glutAddMenuEntry("New submenu entry", 55);
    

    虽然 freeglut 没有提供文档,但如果 glut documentation 涵盖了它,您可以尝试一下。 (虽然我不知道 freeglut 涵盖了多少 glut 的功能)。

    【讨论】:

      最近更新 更多