c++ - 几何着色器

标签 c++ qt opengl qt5

我正在尝试将几何着色器添加到我的程序中。问题是我正在使用 QGLfunctions,我的 OpenGL 版本是 3.1 和 Qt 5.0。

在 Qt 5.0 中,QOpenGLShader 和 QOpenGLShaderProgram 类仅支持顶点和片段着色器。 Qt 5.1 包括对 OpenGL 支持的所有着色器阶段的支持(包括几何着色器)。我知道如何使用 QGLfunctions 提供的 addShaderFromSourceCode 添加着色器,但这样就无法添加几何着色器。

有人可以帮助我如何将几何着色器添加到我的程序中吗?

最佳答案

不要混淆 QGL 和 QOpenGL 类。 First 在 Qt 5 中被弃用并且不能使用(仅用于 Qt 4 兼容代码)。第二个在 Qt 5.0 中没有几何着色器,仅来自 Qt 5.1(原因是 Qt 5 最初基于 OpenGL ES 以实现大平台兼容性,在 Qt 5.1 中添加了对 OpenGL 3-4 的支持)。

您可以使用经典的 GL 代码直接使用几何着色器(然后无需 Qt)

关于c++ - 几何着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18994666/

相关文章:

c++ - 基于堆栈的缓冲区溢出

c++ - 使用 STL sort() 对二维数组进行排序

c++ - 我想知道进程的 BSS 段是否可以在程序执行期间增长

opencv - 构建OpenCV 2.4.10 + Windows 7 + Visual Studio 2013,指导和错误解决

java - 两侧都可见 OpenGL Quad?

c++ - 在不丢失分隔符的情况下拆分字符串

c++ - Qthread : worker for I/O queue

c++ - 如何从 QThread::run() 获取用户反馈,例如Q消息框?

c++ - 以不同的方式解释 QCloseEvent

macos - 在 Mac OSX Lion(10.7) 上设置和使用 OpenGL 3.0+