如何使用 Qt 4 创建 OpenGL 3 上下文?

2023-12-29

我想学习使用 OpenGL 进行图形编程。因为我刚刚开始学习它,所以我决定学习新的/OpenGL3 的做事方式。据我所知,必须为此创建一个 OpenGL 3 上下文(如果我理解正确的话,新的 OpenGL 3.2 中的核心配置文件) )。嗯,我考虑过使用 Qt 来实现这一点,目前使用的是 4.5.2 版本,因为我已经知道它并且喜欢它,并且它支持创建 OpenGL 小部件。我遇到的问题是,OpenGL 小部件看起来总是使用旧的 OpenGL 2 上下文进行装箱,并且我看不到将其放入/切换到 OpenGL 3 方式的选项。我是否在这里遗漏了一些明显的东西,或者我是否需要一些更棘手的东西来使用 Qt 创建 OpenGL 3 上下文?当前版本的 Qt 是否支持它?我正在使用Linux,如果有什么区别的话。


Mesa 软件渲染仍然停留在 OpenGL 2.1 上。如果您使用二进制 NVidia 驱动程序,它们会提供 OpenGL 3.2support http://developer.nvidia.com/object/opengl_3_driver.html在足够新的硬件上。 AMD 的最新的fglrx http://blogs.amd.com/play/2009/08/17/ati-catalyst%E2%84%A2-98-driver-everything-you-want-to-know-and-why-you-should-care/支持3.1。开源驱动程序似乎在 1.3-1.4 左右达到顶峰。

如果您已经走到这一步,您可能需要破解 Qt 源代码以使用 GLX_ARB_create_context 而不是 GLXCreateContext 来获取 OpenGL 3.2 Core 上下文。

如果您还没有通过 Google 找到该线程,那么似乎已经取得了部分成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Qt 4 创建 OpenGL 3 上下文? 的相关文章

  • Git - 致命:无法获取当前工作目录?

    When I git clone从回购协议中 我得到 fatal Could not get current working directory No such file or directory 我该怎么办 我检查了服务器并发现 git文
  • 如何在多采样纹理上渲染帧缓冲区对象?

    我目前有一个使用多个通道的渲染引擎 其中图像的各个部分在纹理上渲染 然后使用着色器进行组合 它有效 现在我想激活多重采样 我在这里读到 http www opengl org wiki Framebuffer Object Examples
  • “以下软件包将被更高优先级的频道取代”是什么意思?

    我正在尝试将 fuzzywuzzy 安装到 64 位 Linux 中的 Anaconda 发行版上 当我这样做时 它试图改变我的conda and conda env to conda forge渠道 如下 我通过以下方式在 anacond
  • Pthread互斥锁由不同线程解锁

    一个天真的问题 我之前读到过 MUTEX 只能由锁定它的线程解锁 但我写了一个程序THREAD1锁定 mutexVar 并进入睡眠状态 然后THREAD2可以直接解锁mutexVar做一些操作并返回 gt 我知道每个人都说我为什么要这样做
  • 如何在Qt无框窗口中实现QSizeGrip?

    如何使用 Qt 无框窗口实现 QSizeGrip 代码会是什么样的 您只需在布局内窗口的一角添加 QSizeGrip 即可使其保持在该角落 QDialog dialog new QDialog 0 Qt FramelessWindowHin
  • 如何像C99一样使用make和编译?

    我正在尝试使用 Makefile 编译 Linux 内核模块 obj m main o all make C lib modules shell uname r build M PWD modules clean make C lib mo
  • 如何告诉 CMake 将构建文件放在哪里?

    我想告诉 CMake 将文件和文件夹输出到不同的文件夹而不是当前文件夹 我在下面讨论的是 CMake 生成的文件 文件 CMakeCache txt 目录 CMakeFiles 文件 生成文件 目录 bin 文件 cmake install
  • python 的 fcntl.flock 函数是否提供文件访问的线程级锁定?

    Python 的 fcnt 模块提供了一种名为 flock 1 的方法来证明文件锁定 其描述如下 对文件执行锁定操作op 描述符 fd 文件对象提供 fileno 方法被接受为 出色地 请参阅 Unix 手册集群 2 了解详情 在某些系统上
  • 第一个随机数始终小于其余随机数

    我碰巧注意到 在 C 中 使用 std rand 方法调用的第一个随机数大多数时候都明显小于第二个随机数 关于 Qt 实现 第一个几乎总是小几个数量级 qsrand QTime currentTime msec qDebug lt lt q
  • 如何将 QByteArray 转换为十六进制字符串?

    我有打击QByteArray QByteArray ba ba 0 0x01 ba 1 0x10 ba 2 0x00 ba 3 0x07 我真的不知道如何将此 QByteArray 转换为结果字符串 其中包含 01100007 我将使用 Q
  • copy_from_user() 错误:目标大小太小

    我正在为内核模块编写 ioctl 处理程序 我想从用户空间复制数据 当我编译禁用优化的代码时 O0 gflags 编译器返回以下错误 include linux thread info h 136 17 error call to bad
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • 带有 std::vector 的 VBO

    我用 C 和 OpenGL 编写了一个模型加载器 我用过std vectors 来存储我的顶点数据 但现在我想将其传递给glBufferData 但是数据类型却截然不同 我想知道是否有办法可以相互转换std vector至已记录的const
  • 获取 QPushButton 在 2D 数组 QPushButton 上的索引

    我有一个二维数组QPushButton 当用户单击按钮时如何获取按钮的索引 例如当用户单击按钮时a 2 3 它会显示 2 3 该示例如下所示 Qt 4 5 使用对象名称 您可以为按钮指定唯一的对象名称 理想情况下 名称应该是有效的 C 标识
  • SWI-Prolog 与 C++ 接口的问题

    我试图让 SWI Prolog 与 C 很好地配合 现在束手无策 现在 在我开始准确解释我的问题是什么之前 我想首先说明我的项目是关于什么的以及我选择了哪些工具来开发解决方案 我的教授分配给我的任务是开发一个 GUI 程序 作为 SWI p
  • pip install reportlab 错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为 1

    使用 ubuntu 虚拟环境 我尝试安装reportlab 命令是 pip install reportlab 在这个目录下 company2 stefano stefano X550EP htdocs company2 错误是 error
  • Powershell从Linux客户端连接到Windows远程

    我正在尝试从我的 Linux 工作站远程连接到 Windows 计算机 我在 Arch Linux 工作站上安装了 powershell 目前正在尝试连接到主机 在主机上 Enable PSRemoting 然后允许所有主机Set Item
  • 如何在 arago 项目构建中编写自己的食谱包

    我如何在 arago 项目构建中编写自己的食谱包 我知道它可以是 bitbake 文件 但我怎么写 不知道 我在互联网上搜索 但未能找到任何好的来源 有人可以给我提供链接或示例来开始吗 RegardsLinux 学习者 使用 Bitbake
  • 使用 QTextCursor 选择一段文本

    使用 Qt 框架选择文本片段时遇到问题 例如 如果我有这个文件 没有时间休息 我想选择 ime for r 并从文档中删除这段文本 我应该如何使用 QTextCursor 来做到这一点 这是我的代码 QTextCursor cursor n
  • 将任何当前目录“./”添加到Linux中的搜索路径[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何将任何当前目录 添加到 Linux 中可执行文件的搜索路径中 我知道这是一个旧答案 但如果其他人像我一样通过谷歌偶然发现这个问题 这里

随机推荐

  • 词法作用域是如何实现的? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 几年前 我开始为一种小型领域特定语言编写解释器 其中包括程序员定义的函数 起初 我使用简单的符号表堆栈
  • 词集中词的最大交集算法

    背后的故事 我正在使用创建语音控制应用程序x webkit speech这是令人惊讶的好 功能 而不是我的应用程序 但有时用户 我 会有点咕哝 如果单词的某些合理部分与某些合理命令的某些合理部分相匹配 那么接受该命令会很好 所以我寻找名为
  • Numpy 提取子矩阵

    我是新来的numpy我很难理解如何从np array具有定义的列和行的子矩阵 Y np arange 16 reshape 4 4 如果我想提取列 行 0 和 3 我应该 0 3 12 15 我尝试了所有的重塑功能 但不知道如何做到这一点
  • 在没有准备好的语句/SQLite/C++ 的情况下防止 SQL 注入

    我希望得到一些有关此方案针对 SQL 注入攻击的安全性的反馈 在前端 用户输入个人信息 姓名 地址 电话号码 电子邮件和一些自由格式文本 后端是用C 从头开始编码的 没有框架支持 并集成了SQLite C 代码是这样的not使用 SQLit
  • 简单易懂的 Spring 应用程序登录

    我对 Spring 很陌生 今天才开始学习 我一直在寻找一个简单的登录应用程序 它也将解释 Spring 之外的应用程序的流程 当我用谷歌搜索时 我真的找不到其中的几个 http viralpatel net blogs tutorial
  • 将行号添加到 SQL 查询的结果集中

    我有一个简单的选择语句 我想添加一个临时列来表示结果集中的行数 我尝试过这个 declare num int set num 0 select t A t B t C count 1 as number from tableZ as t 它
  • 如何使用 LocationCollection 缩放以适应 WP7 Bing Maps 控件?

    如何在 Windows Phone 7 上将 Microsoft Phone Controls Maps Map 控件缩放到正确的缩放级别 我有一个地理坐标的 LocationCollection 并且我自己计算了中心 但现在如何计算正确的
  • EntityFramework连接问题

    我在 Visual Studio 2008 中有一个包含 3 个项目的解决方案 1 个 Web 应用程序和 2 个类库 实体框架模型位于类库中 起始项目是 Web 应用程序 我曾经遇到过这样的问题 在配置中找不到指定的命名连接 不适合与 E
  • 为什么 use 块不能安全地初始化 var?

    为什么这会出现编译错误 val autoClosable MyAutoClosable var myVar MyType autoClosable use myVar it foo println myVar Error Variable
  • 从两个表中选择单独的行,按日期排序

    I don t想要任何一种JOIN这里 我正在使用 PHP 构建两个表的 RSS 提要 并且我想从两个表中选择所有行 保持行分开 但按公共排序created column 例如 如果我有一张桌子foo id downloads views
  • Windows 中的 cmake 问题

    我正在尝试编译这个 相当复杂 在 Windows 中使用 cmake 和 MinGW 的一段代码 include
  • 可能的堆栈损坏

    参考我之前的问题GDB 未精确定位 SIGSEGV 点 https stackoverflow com q 3971091 191776 我的线程代码如下 void runner void unused do sem wait x if c
  • 如何在 aspnet vnext config.json 文件中配置实体框架拦截器?

    在网络配置文件中 我会这样做
  • 你能解释一下 onCreate 和 Bundles 吗?

    我一直在查找它 但我似乎无法将自己包裹在 onCreate 和 Bundles 中 我知道 onCreate 在程序启动时被调用 但它是如何传递 Bundles 以及它们如何相关的 任何人都可以尝试用简单的英语来表达它 因为我似乎找不到它的
  • Django 结账无法访问:找不到页面(404)

    我正在尝试使用 Django 开发一个电子商务网站 所以我现在 用户可以将商品添加到购物车 但是当我尝试继续结帐时 由于某种原因 我的结帐表单没有显示 而是显示 找不到页面 404 我确保我已经注册了我的模型并运行了迁移 问题是什么 我的观
  • django 1.10 媒体图像不显示

    我通过将以下内容添加到站点 urls py 让 django 媒体图像在现有的 django 1 7 项目中工作 urlpatterns patters url r media P
  • 适用于 VS11 开发者预览版的 MySQL 提供程序

    是否有与 Visual Studio 11 开发人员预览版集成的 MySQL 连接提供程序 我已经尝试过 MySQL 连接器 v6 4 4 但我没有看到从新连接对话框连接到 MySQL 数据库的选项 我调整了 Net Connector 版
  • 如何执行存储在 MySQL 表列中的查询?

    mysql gt select from CT CID MID REPORT QUERY 1 1 select from emp 2 2 select from student 2 rows in set 0 00 sec 我想执行查询RE
  • 在 rgl 中填充轮廓

    以下代码绘制一些点并用线连接它们 我要填写 由选择颜色和 Alpha 的线条包围的区域 我似乎不知道如何使用 rgl 做到这一点 Open plot and add axes open3d decorate3d xlim c 0 4 yli
  • 如何使用 Qt 4 创建 OpenGL 3 上下文?

    我想学习使用 OpenGL 进行图形编程 因为我刚刚开始学习它 所以我决定学习新的 OpenGL3 的做事方式 据我所知 必须为此创建一个 OpenGL 3 上下文 如果我理解正确的话 新的 OpenGL 3 2 中的核心配置文件 嗯 我考