NanoGUI教程-NanoGUI的使用

使用

C++

在C++中有两种有效的方法可以使用NanoGUI:让NanoGUI初始化和管理OpenGL上下文(和GLFW),或者手动执行。

  1. 如果让NanoGUI接管,则必须先调用NanoGUI::init(),然后再尝试执行其他操作。如果您自己管理OpenGL/GLFW,请确保避免调用此方法。

  2. 创建nanogui::Screen 的一个实例对象(或你写的派生类)。

  • NanoGUI 管理 OpenGL: 调用显式构造函数.
  • 手动管理 OpenGL: 调用空构造函数。
    • 你必须调用 nanogui::Screen::initialize()方法。
  1. 添加你想要在屏幕上显示的窗体、按钮等实例对象,然后调用nanogui::Screen::setVisible()nanogui::Screen::performLayout()方法
  2. 现在一切都准备好了, 调用 nanogui::mainloop().
  3. 当所有窗口都关闭时,此函数将退出,随后应当调用`nanogui::shutdown()。

NanoGUI 管理 OpenGL / GLFW
Refer to Example 2 for a concise example of what that all looks like.
参考示例2来获得一个简明的示例。
手动管理 OpenGL / GLFW
Refer to Example 3 for an as concise as possible example of what you will need to do to get the nanogui::Screen to work.
请参阅示例3,以获得一个尽可能简洁的示例,示例说明至少需要做些什么才能使nanogui::Screen正常工作。

Python

Python接口与C++API非常相似。使用CMake构建NanoGUI时,将使用导入NanoGUI的库创建一个python文件夹。虽然实现细节差别很大,但Python端的文档和构建过程大致相同。请参阅示例并比较两者的源代码。
示例3强调了API之间更显著的差异。具体来说,从Python管理GLFW没有任何意义,而且可以轻松分离Python的主循环。

posted @ 2022-09-29 16:04  loufand  阅读(979)  评论(0编辑  收藏  举报