NanoGUI使用

NanoGUI是一个小巧的GUI库,适用于OpenGL,并有Python支持。它跨平台,适合Mac、Windows和Linux,且具备高清屏幕适配。尽管维护不频繁且功能有限,但对一般应用已足够。编译过程包括使用CMake或在Windows上生成VS解决方案。在C++和Python中,可以方便地创建和管理界面元素,通过lambda函数处理回调。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么用

NanoGUI是一个支持OpenGL绘制的gui 库,也提供python的绑定(由pybind11实现)

  • 优点

    • 支持Mac、Windows和Linux,能够在windows平台上提供OpenGL3.x支持。
    • 体积小
    • 支持高清屏
    • 使用lambda回调函数,逻辑清晰
  • 缺点

    • 维护不及时
    • 功能少
    • 缺少移动版本

总体来说,对于一般应用已经足够。

编译

从github下载:

 
 
  1. git clone --recursive https://github.com/wjakob/nanogui.git

Mac/Linux上使用CMake构建,在Windows上生成VC solution后编译。注意windows上仅支持win64 build。vsiual studio 2015需要升级update 2 或update3(见NanoGUI::issures 201)。

C++实例

使用nanogui界面时刻直接从nanogui::screen 继承:

 
 
  1. class App : public nanogui::Screen {
  2. public:
  3. App() : nanogui::Screen(Eigen::Vector2i(1024, 768), "NanoGUI Test") {
  4. //初始化界面中第一个或多个菜单窗口
  5. }
  6. virtual void draw(NVGcontext *ctx) {
  7. //更新界面
  8. //...
  9. Screen::draw(ctx);
  10. }
  11. virtual void drawContents() {
  12. //使用OpenGL绘制窗口内容
  13. }
  14. virtual void Screen::drawAll() {
  15. glClearColor(mBackground[0], mBackground[1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值