2012-01-10 3 views
1

У меня есть сцена, к которой я добавляю и манипулирую объектами (я делаю рендерер).GLUT: добавление записей меню во время выполнения

Я хочу, чтобы каждая камера/объект добавлялась в подменю. Я использую freeglut.

В настоящее время я просто вызываю функцию initMenu(), которая создает меню при каждом добавлении или удалении объекта, который запускает цикл над моей базой данных объектов. Но это очень медленно.

ответ

0

Это довольно просто. При первом создании подменю, вы получаете внутренний идентификатор в качестве возвращаемого значения:

int submenu = glutCreateMenu(menu); 

Позже, когда вы хотите добавить еще один пункт в этом подменю, вы должны установить его:

glutSetMenu(submenu); 

И тогда вы можете просто добавить новое значение в меню:

glutAddMenuEntry("New submenu entry", 55); 

Хотя freeglut не предоставляет документацию, вы можете попробовать, если она покрыта в glut documentation. (Хотя я не знаю, сколько функций переполнения покрывается freeglut).