在 Qt 中实现的 OpenGL 中级教程

Posted

技术标签:

【中文标题】在 Qt 中实现的 OpenGL 中级教程【英文标题】:Intermediate tutorial for OpenGL as implemented in Qt 【发布时间】:2012-06-07 03:28:14 【问题描述】:

我正在为我正在处理的一个免费开放的项目制作一个界面。我知道最终我需要它来处理 3D 图形的繁重工作,所以我需要访问 GPU。我偶然发现了 Qt 框架及其对 OpenGL 的使用。它们的跨平台特性对我很有吸引力,我学到了很多关于在 Qt 上构建工厂/管道的东西,但是使用 OpenGL 比我希望的更具挑战性。

我已经在几本书和谷歌上寻找了很好的教程,但是当我尝试实现它们时,它们跳来跳去,或者似乎不太有效。 IDE 中提供的示例有很多花里胡哨,几乎没有任何解释。当我尝试实现“使用 Qt 4 进行 C++ GUI 编程”中的示例时,它没有正确编译。 OpenGL上有一套比较有名的“NeHe”教程,但它们不是用Qt实现的,“独立Qt教程”制作的配套系列很简短。

我将非常感谢一个进展非常缓慢并将 Qt 和 OpenGL 一起介绍的示例。当我从一个名叫 Daniel Eder 的人那里读到 a blog entry 时,它让事情变得更加清晰。但他实际上并没有在讨论的那部分编写代码。

具体来说,如果我能在 Qt 中得到一些非常简单的东西,比如可以旋转的立方体,或者更复杂的东西,比如球体,我就会有足够的牵引力来理解其他教程。我当然想自己编写代码,但我什至无法到达可以鬼混的地方,哈哈。

【问题讨论】:

请求基于 Qt 的 OpenGL 教程的问题在于,它们之间根本没有任何关系。任何将它们一起介绍的教程都必须认真浏览其中任何一个的重要方面。我只是建议您选择一本好的 OpenGL 书籍/资源。 (注意,NeHe 不是我所说的好)最后,Qt 所做的只是包装了一些 OpenGL 的东西,为您的 OpenGL 上下文提供了一个简单易用的小部件。 欢迎来到 Stack Overflow。 Stack Overflow is not a Link Farm or Search Engine. digitalfanatics.org/projects/qt_tutorial/chapter14.html 这是我在谷歌中查找“QT 和 OpenGL”时发现的。请自行搜索。 【参考方案1】:

这里有一些教程和示例

Qt Dev 网络中还有一个Wiki,您可能会发现它很有用。我特别推荐Wesley Stessens's 对我个人帮助很大的博客。

Nehe 网站提供了一个很好的教程,您可以在其中找到一些移植到 Qt 的示例。

Qt Creator/SDK 中也有很多 QtOpenGL 示例,可以很方便。我强烈建议您看一下它们,因为它们非常易于理解和使用。

我的下一步是阅读这两本书

使用 Qt 4 进行 C++ GUI 编程,第 3 版

OpenGL 编程指南:学习 OpenGL 的官方指南,第 7 版

在相关的Doc's/Reference manuals等中寻求帮助时,我也很高兴。

Qt Documentation

QtOpenGL module

OpenGL Documentation

在这个级别,您可以立即解决您的实施问题:)

祝你好运。

【讨论】:

就是这样!!非常感谢。 Wesley 的博客正是我想要的。 很高兴我能帮上忙。我个人正在等待December 发布的第 8 版 OpenGL 编程指南。我希望他们能放下那些被贬低的功能,拿出新的例子,正如他们所说的“85% 新材料”。 你们中的任何人都可以在这里(或其他地方)发布第一章的代码吗?韦斯利的页面已关闭。从最近 2 天开始尝试.. 我正在寻找像 NeHe 一样的框架..

以上是关于在 Qt 中实现的 OpenGL 中级教程的主要内容,如果未能解决你的问题,请参考以下文章

Qt 4.6 OpenGL GLSL

如何在qt中执行opengl

qt 3d 和opengl哪个好

Qt + OpenGL 入门

Qt/OpenGL - 渲染的图元被扭曲

将 Qt GUI 嵌入到现有的 OpenGL 程序中