Qt5中的glGenBuffers在哪里?

2024-03-12

我似乎找不到glGenBufferQt5 中的函数,我的包含列表看起来像

#include <QtOpenGL/qgl.h>
#include <QtOpenGL/qglbuffer.h>
#include <QtOpenGL/qglcolormap.h>
#include <QtOpenGL/qglframebufferobject.h>
#include <QtOpenGL/qglfunctions.h>
#include <QtOpenGL/qglpixelbuffer.h>
#include <QtOpenGL/qglshaderprogram.h>
#include <GL/GLU.h>

我正在尝试做类似以下示例的事情:

http://qt-project.org/doc/qt-5.0/qtopengl/cube.html http://qt-project.org/doc/qt-5.0/qtopengl/cube.html

它在哪里?


我知道我迟到了,但这里有一个更优雅的解决方案(你不需要 GLEW =))

除了确保你有QT += opengl在你的 *.pro 文件中,并且你的 Qt 版本有 OpenGL,并且你有#include <QGLFunctions>(您不需要上面列出的所有内容;只需这一行)在您的头文件中,您还需要一件事。

因此,假设您有一个调用所有这些函数的类:

class MeGlWindow : public QGLWidget
{
   // bla bla bla...
}

你需要继承一个受保护的类QGL函数 http://qt-project.org/doc/qt-4.8/qglfunctions.html:

class MeGlWindow : public QGLWidget, protected QGLFunctions // add QGLFunctions
{
   // bla bla bla...
}

另外,正如 GLEW 所要求的glewInit()在调用 OpenGL 函数之前调用一次,QGLFunctions需要你打电话initializeGLFunctions()。例如,在QGLWidget, initializeGL()在开始绘制任何内容之前调用一次:

void MeGlWindow::initializeGL()
{
    initializeGLFunctions();

    // ...now you can call your OpenGL functions!
    GLuint myBufferID;
    glGenBuffers(1, &myBufferID);

    // ...
}

现在你应该可以打电话了glGenBuffers, glBindBuffer, glVertexAttribPointer或任何没有 GLEW 的 openGL 函数。

UPDATE: 某些 OpenGL 函数,如glVertexAttribDivisor and glDrawElementsInstanced不与QGLFunctions。这是因为QGLFunctions仅提供OpenGL/ES 2.0 API特有的功能,可能不具备这些功能。

要解决这个问题,你可以使用QOpenGLFunctions_4_3_Core http://qt-project.org/doc/qt-5/qopenglfunctions-4-3-core.html(或类似)仅自 Qt 5.1 起可用。代替QGLFunctions with QOpenGLFunctions_4_3_Core, and initializeGLFunctions() with initializeOpenGLFunctions().

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

Qt5中的glGenBuffers在哪里? 的相关文章

  • glut 库中缺少 glutInitContextVersion()

    我正在练习一些 opengl 代码 但是当我想通过以下方式强制 opengl 上下文使用特定版本的 opengl 时glutInitContextVersion 它编译过程失败并给出以下消息 使用未声明的标识符 glutInitContex
  • 仅将非模态 QDialog 窗口放置在我的应用程序顶部,而不是所有应用程序顶部

    我有一个 QDialog 窗口 它应该始终位于我的应用程序顶部 它不是模态的 用户可以随时与对话框和主应用程序进行交互 使用窗口保持在顶部提示在某种程度上实现了这一点 但是 该对话框仍然位于所有其他正在运行的应用程序 例如记事本 chrom
  • SDL 鼠标位置调整大小后裁剪

    我在 SDL 中的鼠标位置上遇到了一些奇怪的行为 如果我将窗口大小调整得更大 则任一鼠标事件的 x y 位置似乎都限制为原始窗口的宽度和高度 如果我缺少一些函数调用来告诉 SDL 鼠标区域的大小已增加 应用程序的相关部分 void Resi
  • Qt/c++ 随机字符串生成[重复]

    这个问题在这里已经有答案了 我正在创建一个应用程序 需要生成多个随机字符串 几乎就像一个由一定长度的 ASCII 字符组成的唯一 ID 这些字符混合有大写 小写 数字字符 有没有 Qt 库可以实现这一点 如果没有 在纯 C 中生成多个随机字
  • QSpinBox 输入 NaN 作为有效值

    我正在尝试扩展 QSpinBox 以能够输入 NaN 或 nan 作为有效值 根据文档 我应该使用 textFromValue valueFromText 和 validate 函数来完成此操作 但我无法让它工作 因为它仍然不允许我输入除数
  • Qt Creator:如何区分 win32 和 win64

    我必须在 pro 文件中执行类似的操作 win32 LIBS L 3rdparty libusb win32 lib msvc llibusb else win64 LIBS L 3rdparty libusb win32 lib msvc
  • 如果我用opengl绘图的话SDL Renderer就没用了吗?

    我正在学习 SDL2 但我也在使用使用 OpenGL 调用的 imgui 库 从我在网上各种博客上读到的内容来看 我无法轻松混合 SDL2 渲染器和 opengl 调用 我要么使用其中之一 要么使用另一个 我读过的大多数教程都使用渲染器 所
  • Qt:将拖放委托给子级的最佳方式

    我在 QWidget 上使用拖放 我重新实现了 DragEnterEvent dragLeaveEvent dragMoveEvent 和 dropEvent 效果很好 在我的 QWidget 中 我有其他 QWidget 子级 我希望它们
  • 无法在 WSL2 上运行 OpenGL

    我尝试在 WSL2 上运行 OpenGL 代码 但在尝试运行可执行文件时出现以下错误 GLFW error 65543 GLX Failed to create context GLXBadFBConfig Unable to create
  • Qt WinRT 应用程序无法访问文件权限被拒绝

    我需要使用 Qt 和 FFMPEG 开发 WinRT 应用程序 我根据指令构建了 WinRT 的 ffmpeghere https github com Microsoft FFmpegInterop我可以将库与我的项目链接起来 现在我需要
  • QTcpSocket 有时不发送数据

    我有两个 QT 应用程序 一个应用程序可以被认为保存了大数据 它每秒向第二个应用程序发送大约 10 KB 的数据块 之前我尝试使用QUdpSocket来传输数据 但由于MTU限制在2 5K左右 并且需要自己分割和重新组合数据 所以我改用QT
  • Qt - 如何粘合两个窗口并将它们移动在一起?

    就像qmmp Qt 音乐播放器ui设计一样 这两个或三个窗口实际上在同一个窗口中 因为只有一个dock图标 并且这些窗口可以一起移动并相互附着 我看了源码 好像有用QDockWidget 但我真的不知道如何获得它的细节 当您手动移动辅助窗口
  • 禁用 QML Slider 的鼠标滚轮

    我希望能够滚动Flickable使用鼠标滚轮 或触摸板上的两根手指 不改变Sliders它可能包含 示例代码及结果应用 import QtQuick 2 7 import QtQuick Window 2 2 import QtQuick
  • 如何使用 Qtimer 添加 1 秒延迟

    我目前有一个方法如下 void SomeMethod int a Delay for one sec timer gt start 1000 After one sec SomeOtherFunction a 这个方法实际上是一个附加到信号
  • 加权 Voronoi 的 CGAL 2D APOLLONIUS 图 - 如何生成和获取面和顶点?

    我正在尝试根据阿波罗尼乌斯图生成加权沃罗诺伊 我正在使用 CGAL 库 我找不到如何从 apollonius 获取面和顶点的好例子 我有以下类型定义 typedef double NT typedef CGAL Cartesian lt N
  • QGraphicsScene::clear 不会改变 sceneRect

    我有一个 QGraphicsScene 场景 和 QGraphicsView graphicsView 我有一个画图的方法 当我需要重绘所有图形时 我调用这个方法 一切都好 但我意识到 scene gt clear 不会改变 sceneRe
  • 如何创建用于 QML 的通用对象模型?

    我想知道是否有任何宏或方法如何将 Qt 模型注册为 QObject 的属性 例如 我有AnimalModel http doc qt io qt 5 qtquick modelviewsdata cppmodels html qabstra
  • 重定向 python 交互式帮助()

    我正在为使用 Qt 的应用程序开发交互式 python shell 但是我似乎无法获得重定向的交互式帮助 我的 python 代码中有这个 class OutputCatcher def init self self data def wr
  • 如何将图像显示为缩略图

    我有一个QTreeView显示硬盘驱动器和目录 我也有一个QListView显示图像文件如下 但我想将图像显示为缩略图 如下所示 My code mainWidget mainWidget QWidget parent QWidget pa
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte

随机推荐

  • clrzmq 在 Xamarin Studios/C# 应用程序中找不到 libzmq

    我在 Mac 上使用 Xamarin Studio clrzmq通过 NuGet 包含 libzmq dll 上的 clrzmq 引用 我的应用程序编译得很好 但是当我尝试运行它时 我得到了这个 Unhandled Exception Sy
  • 如何在不使用任何内置高斯函数的情况下对图像进行高斯模糊?

    我想使用原生高斯模糊公式来模糊图像 我读维基百科文章 http en wikipedia org wiki Gaussian blur 但我不确定如何实现这一点 如何使用公式来确定权重 我不想使用 MATLAB 等内置函数 编写朴素的高斯模
  • 为什么 HTML 段落

    在我的 chrome 上表现得如此奇怪?

    获取一个空 HTML 输入此内容并在 Google Chrome 上查看其源代码 p p div nbsp div WHY 如果你像我一样这样做 你会在源代码中看到这一点 p nbsp p div nbsp div WHY p p 万一 这
  • 套接字、轮询、无套接字结果?

    我正在开发一个 Windows 窗体应用程序 该应用程序在 Microsoft Azure 开发服务托管的云 SQL 服务上运行 如果没有能力物理上拥有一个接收应用程序 这将允许我利用套接字 这是一个重要的陷阱 因为我的应用程序将严重依赖于
  • IE11 在 Angular2(TS) 中发布 Angular CLI 项目,polyfills 不起作用

    我正在使用 angular cli 1 0 0 beta 16 它有 polyfills ts 如下所示 This file includes polyfills needed by Angular 2 and is loaded befo
  • 从重用的自定义单元格中的按钮传递数据

    当用户点击自定义单元格中的按钮时 我无法从自定义单元格传递数据 由于单元格被重复使用 我有时会得到错误的单元格数据 我想知道是否有一种完整的方法可以始终将正确的单元格数据获取到每个单元格中的按钮 无论当前屏幕上的哪个单元格 下面是我的代码
  • 使用 iOS Openfire 和 Robbie Hanson 库加入具有所有者权限的现有 XMPP MUC Room

    我正在使用以下代码加入现有的 MUC 房间 XMPPRoomMemoryStorage roomStorage XMPPRoomMemoryStorage alloc init XMPPJID roomJID XMPPJID jidWith
  • 在本地处理预期错误、重新抛出意外错误的模式

    有时 某些代码会以预期的方式引发错误 最方便的方法是在本地处理它 而不是将其扔到错误处理例程中 在错误处理例程中它将与相同类型的其他错误混合在一起 然而 您不希望意外错误被吞没 你希望他们像往常一样长大 在下面的 稍微做作的 示例中 Fin
  • 如何关闭故事板弹出窗口

    我创建了一个弹出窗口UIBarButtonItem使用 Xcode Storyboards 因此没有代码 如下所示 呈现弹出窗口效果很好 但是 我无法让弹出窗口消失当我点击UIBarButtonItem这让它出现了 当按下按钮 第一次 时
  • php与dll的通信?

    我需要使用 php 将数据 在本例中只是一个 id 传递到自定义 dll 可以直接在php中使用dll吗 以前从未使用过 dll 我不太确定它是如何工作的 它本质上与 Web 服务或 RPC 类似吗 由于这是一个自定义 DLL 也许您会考虑
  • 在android中解码HTML实体

    我需要解码 HTML 实体 例如从 到 和 到 URLEncoder decode str 不做这项工作 从 符号转换 TextUtils 有 HTMLencode 但没有 HTMLdecode 有没有解码 HTML 实体的函数 The h
  • ASP.net Session_Start 方法中的依赖注入

    我正在学习依赖注入并第一次使用 autofac 我按照几个 autofac 示例 见下文 中提到的方式构建了容器 并从我的 application start 调用 public class ContainerConfig public s
  • 锁定静态方法

    请考虑这段代码 public static class SomeClass private static List
  • Excel-在数组中查找一个项目并返回顶列

    我有一个按列排列的信息表 我有要在表中查找的值 但结果无法获取列标题 尝试了查找 匹配和索引 不确定我想要做什么 因为查找遍及整个表 在此输入图像描述 https i stack imgur com gSb8j png 解决这个问题的方法有
  • 调用 isSumbitted() 和 isValid() 会导致“未定义方法”错误

    我有一个从控制器中的 createFormBuilder 创建的 Symfony 表单 但在两个 IF 语句下 表单应包含两组不同的字段 我的 Symfony 版本是 3 4 src AppBundle Controller Default
  • UISearchController 在 segue 之后持续存在

    我有一个带有 UISearchController 的应用程序 UI 的这个元素完全是用如下代码设置的 searchController UISearchController searchResultsController nil sear
  • 如何在 Xcode 4.2 中启用 ARC 项目范围

    我有一个 iOS 应用程序 我想将其转换为使用ARC 我只想使用迁移工具 但在预览阶段它始终会出错 我知道我可以使用 fobjc arc逐个文件的编译器指令 但我想启用ARC在整个项目上 然后使用关闭各个类 fno objc arc 4 2
  • 如何对字符串版本号的列表/数组进行排序?

    我有一个版本字符串列表 参见照片 我想按降序对它们进行排序 我见过一些使用 Version 类来比较它们的解决方案 但我想不出有任何解决方案可以像这样对整个列表进行排序 实现这一目标的最简单的方法是什么 这个简单的实现有什么问题吗 usin
  • 从 iisnode 访问 web.config 设置?

    如果我将设置添加到应用程序的 web config 文件中 是否有 API 可以从我的应用程序中读取设置 或者我是否必须使用 XML 库读取该文件 没有特殊的 API 允许您将 web config 读取到在 iisnode 中运行的 No
  • Qt5中的glGenBuffers在哪里?

    我似乎找不到glGenBufferQt5 中的函数 我的包含列表看起来像 include