2017-02-17 109 views
-2

我知道像这样的问题有更多的答案,但我诚实地寻找任何答案。 这是我的问题。我正在进入图形编程并开始学习OpenGL的东西。我现在有一个非常小的3D引擎,可以在窗口中加载和绘制3D模型。对于我目前使用GLFW的实际窗口。如何为使用GLFW的OpenGL应用程序构建GUI?

一切都很好,除了现在我真的想添加一些菜单和按钮到我的应用程序。我也想要输入回调(所以当用户移动他的鼠标,例如,3D模型相应旋转)

所以任何人都可以给我一些关于如何去做这件事。

  • 我虽然使用WinFroms并以某种方式重定向我的“的OpenGL输出”到 控制,但我会失去我的所有的输入来自GLFW处理的。我不知道如何将输入信息从WinFrom发送到我的OpenGL应用程序。

  • 有人在网上说我可以用QT的GUI的东西,但我有 不知道如何QT落实到我的项目(如果有一个教程,我 会的链接,它是感激)

我很喜欢寻找任何解决方案,让我把我的GLFW窗口,并添加到它的控制。 (我不在乎跨平台的东西,我只是需要它在windows上工作)

如果任何人都可以给我介绍我可能使用的东西,或至少整个过程应该如何工作,我会真的很感谢。 如果还有其他任何可以为OpenGL应用程序提供窗口和GUI按钮的功能,我也愿意完全放弃GLFW。

再说一遍,如果我问这个问题的方式不对,我对整个“Windowing”只是很缺乏经验,只能很少知道Win32 API和HWND这样的东西如何工作。

+0

有这些东西的库(我认为人们使用SDL)。我习惯了Borland环境,VCL可以直接与OpenGL窗口结合使用(无论是覆盖图还是工具面板,所以winapi都支持这一点,你也可以使用你自己的图形用户界面,不知道你的SW的架构很难说更多。几个OpenGL和控制的例子(鼠标,键盘,GUI):[相机和播放器](http://stackoverflow.com/a/40104549/2521214),[简单OpenGL GUI](http://stackoverflow.com/a/34250889/2521214),[OpenGL mouse pan,zoom](http://stackoverflow.com/a/41802191/2521214) – Spektre

+0

我从来没有测试过它,但你可以从[anttweakbar]开始(http://anttweakbar.sourceforge .net/doc /) – Amadeus

+0

@Amadeus。我需要一个基于Win32控件的UI(你知道...标准窗口控件)。从我看到的anttwearbar是一个完全cusom UI。 – Kobek

回答

1

是的,Qt有几个教程用于3D渲染和使用openGL。它带有自己的一套openGL库,它抽象了openGL。

这一个,例如,http://doc.qt.io/qt-5/qt3d-basicshapes-cpp-example.html也使用一些用户界面元素来启动。

转移到Qt将意味着抛弃您的GLFW代码,但带来Qt框架带来的额外好处。从GLFW,GLUT等基础库学习OpenGL绝对没有错。

我相信一旦你玩弄它,你会发现它非常全面。

+0

谢谢。我会确保检查出来。 – Kobek

相关问题