首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在没有GLFW的现有OpenGL项目中使用nanogui

在没有GLFW的现有OpenGL项目中使用nanogui
EN

Stack Overflow用户
提问于 2017-05-25 21:34:00
回答 1查看 1.1K关注 0票数 0

nanogui的外观和感觉非常吸引人,它看起来像一个设计良好的ui工具集。是否可以在不使用GLFW的现有项目中使用它?我快速查看了源代码,并且确实存在一些GLFW依赖关系,例如(button.cpp)

代码语言:javascript
运行
复制
if (button == GLFW_MOUSE_BUTTON_1 && mEnabled) {...}

或者是否有其他方法将GLFW混入到现有的OpenGL应用程序中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-26 02:00:06

在快速查看CMakeLists构建说明的基础上,特别是:

代码语言:javascript
运行
复制
if (NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/ext/glfw/src")
  message(FATAL_ERROR "The NanoGUI dependency repositories (GLFW, etc.) are missing! "
    "You probably did not clone the project with --recursive. It is possible to recover "
    "by calling \"git submodule update --init --recursive\"")
endif()

这似乎在很大程度上取决于以当地政府间伙伴关系为主要框架。依赖似乎特别重,因为这是一个GUI库,因此它本质上是与输入系统绑定的。例如,您可以在https://github.com/wjakob/nanogui/blob/master/src/common.cpp中看到主循环从根本上与GLFW相关联(也许更重要的是,主循环已经为您定义了--我还没有看到它是否可以被覆盖)。

话虽如此,有一个GLCanvas对象,它允许您在GL呈现方面做任何您想做的事情;请参见:https://github.com/wjakob/nanogui/blob/master/include/nanogui/glcanvas.h

因此,它似乎更像是一个框架而不是一个库。要移植应用程序,您需要从NanoGUI小部件的角度来考虑它。特别是,无论您呈现什么,都可以将其看作是一个GLCanvas小部件。

集成的难度将取决于您的应用程序有多大,以及它在多大程度上已经绑定到不同的框架中。首先学习NanoGUI可能是值得的(也就是说,使用它从头创建一些简单的测试应用程序),这样您就可以掌握如何最好地将您的逻辑合并到其中。

顺便说一句,它确实是一个漂亮的图形用户界面,谢谢你的关注:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44190183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档