用于OpenGL的轻量级UI库

时间:2011-09-07 14:49:12

标签: opengl user-interface widget

就像标题所说,我正在寻找一个平台无关轻量级的库,用于显示按钮,滑动条,复选框等在OpenGL中。理想情况下,不与OpenGL直接耦合的东西是最好的(即,如果需要,我可以用DirectX替换渲染)。

我的'理想'库将有一个支持回调或类似事件的事件系统。这是一个很好的,但不是绝对必要的。

我查看了Qt和wxWidgets,看起来都非常沉重。 CEGUI看起来像一堆乱七八糟的代码。我见过的大多数其他库都是基于GLUT的。

3 个答案:

答案 0 :(得分:3)

您可能希望了解一下游戏引擎,例如Irrlicht,它提供OpenGL,DirectX和软件渲染器,并支持带有按钮,列表,编辑框的2D GUI系统。请参阅feature page以了解有关其功能的详情,并user interface sample尝试此特定用户界面功能。

Irrlicht是开源的,适用于许多平台。从它支持的功能页面:

  • Windows 98,ME,NT 4,2000,XP,XP64,Vista,CE
  • 的Linux
  • OSX
  • Sun Solaris / SPARC
  • 所有使用SDL的平台

答案 1 :(得分:3)

亲爱的IMGUI

https://github.com/ocornut/imgui

IMGUI

IMGUI

它完全与图形API无关。它只是构建顶点。由你来渲染它们。


还有亲爱的ImGUI启发nuklear

Nuklear

Nuklear

答案 2 :(得分:2)

wxWidgets和Qt都没有在 OpenGL中绘制;他们不使用OpenGL渲染命令来绘制。它们允许您创建OpenGL窗口,但常规GUI控件(按钮,列表等)不是通过OpenGL绘制的。它们是通过您选择的平台的原生绘图机制绘制的。

您通常不会找到很多实际在 OpenGL中进行渲染的独立GUI库。我所知道的唯一一个是CeGUI,它符合你的所有要求,但你认为它是“乱七八糟的代码”。其他一切通常都是“重量级”,因为它是游戏引擎的一部分。

现在,如果你不是在寻找使用OpenGL命令实际绘制的东西,但只是你可以使用一个OpenGL窗口,那么事情就会开放一些。然而,你将wxWidgets解雇为“非常沉重”令人不安,因为GUI库实际上并没有比这更轻松。一个好的GUI系统需要很多东西。

支持创建OpenGL窗口的最小跨平台GUI库可能是FLTK。甚至那个也很大。