在我的项目中,我想根据用户按下鼠标右键的位置显示两个不同的菜单。我实施了拣货。这里没有问题。
我想在用户右键单击一个对象时显示一个菜单,而当右键单击与任何对象都不匹配时显示一个不同的菜单(屏幕中的空白区域)。
GLUT可以做到这一点吗?
如果您的应用程序变得足够复杂以至于需要这样做,那么您需要停止使用 GLUT。你只是超出了它的能力。
GLUT 适用于简单的应用程序。您的需求越复杂和具体,它的帮助就越小。
最终,如果您正在编写一个恰好使用 OpenGL 的 GUI 应用程序(也就是说,您需要菜单等,而不是简单地创建一个 OpenGL 窗口),那么您的选择实际上归结为两件事之一。您可以直接对特定于平台的窗口系统进行编码。或者,您可以使用平台中立的 GUI 系统来创建 OpenGL 窗口。
wxWidgets、Qt和FLTK都是合法的替代品。这些似乎只是一个菜单的重量级,但如果你想要平台中立的 GUI 开发,这就是你必须做的。