- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 C++ 在 Windows 8.1 上使用 Qt5.4 编写 3D 应用程序的接口(interface)。该应用程序正在使用 glLoadGen 加载 OpenGL 函数。
不,问题是,在包含 gl.h 之前,GlWidget 和 glLoadGen 都想被包含,而且在某些时候它们都包含 gl.h。所以看起来,编译一个同时使用两者的文件是不可能的。
使用一些包装器,我也许可以避免这个问题,但我宁愿不这样做。这个问题有什么干净的解决方案吗?
最佳答案
干净的解决方案是分离您的关注点。有一个与 Qt 交互的源文件,它使用 Qt 的东西。然后有另一个与 OpenGL 交互的源文件,使用 glLoadGen 的东西。
如果您有一个函数在概念上需要两者,请让它在需要与 GL 对话时调用 OpenGL 交互代码中的函数。因此,如果您想在调整窗口大小时更改视口(viewport),您可以让 Qt 代码检测调整大小,然后调用一个函数,该函数转到 OpenGL 交互代码以实际调用 glViewport
。
这样,如果您需要从 Qt 切换,只需替换与 Qt 交互的代码即可。
也就是说,glLoadGen 实际上并不是一个 OpenGL 加载库。它是用于 OpenGL 加载库的生成器。这是一个extensible platform .因此,如果将渲染代码粘贴到 UI 代码中对您来说真的那么重要(一般来说,这是一种糟糕的形式),您可以编写一个实际上与 Qt 兼容的生成器样式。
当然,编写 glLoadGen 样式并非易事。您必须了解一些 Lua 脚本,并且必须阅读 how the generation system actually works .
关于c++ - 将 QT5 与 glLoadGen 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454776/
在阅读 OpenGL 4 Shading Language Cookbook 时, 我遇到了 OpenGL Loader Gen图书馆,并立即想尝试一下。我开始创建一个小示例程序,您可以在下面看到它。
我正在使用 C++ 在 Windows 8.1 上使用 Qt5.4 编写 3D 应用程序的接口(interface)。该应用程序正在使用 glLoadGen 加载 OpenGL 函数。 不,问题是,在
使用 GLLoadGen 生成的 GL 加载器包含以下代码: static void* AppleGLGetProcAddress (const GLubyte *name) { static c
我正在尝试为 OpenGL 工作设置跨平台代码库,以下代码在我硬盘驱动器的 Windows 7 分区上绘制得很好。但是,在 Mavericks 上,我只看到黑屏并且无法弄清楚原因。我已经尝试了指南和此
我是一名优秀的程序员,十分优秀!