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在哪里? 的相关文章

  • 清除pyqt中布局中的所有小部件

    有没有办法清除 删除 布局中的所有小部件 self plot layout QtGui QGridLayout self plot layout setGeometry QtCore QRect 200 200 200 200 self r
  • 如何在Qt 5中的paintEvent上使用mouseMoveEvent?

    我是 Qt 和 c 的新手 所以我遇到了一些困难 我正在尝试创建一个小部件 它可以获取 mouseMoveEvent 位置并在鼠标位置的像素图上绘制椭圆 下面你可以看到代码 include myimage h include
  • 三星 S4 上的 Open GL 错误配置错误

    我在 Samsung S4 上收到以下错误 10 21 16 25 44 100 E AndroidRuntime 29778 FATAL EXCEPTION GLThread 11320 10 21 16 25 44 100 E Andr
  • PyQt4 QPalette 不工作

    btn QtGui QPushButton Button self palettes btn palette palettes setColor btn backgroundRole QtCore Qt green btn setPalet
  • 如何doxygen注释Qt属性?

    我想将 Doxygen 注释附加到我的 Q PROPERTY 例如 song h class Song public QObject Q OBJECT private Q PROPERTY QString title READ title
  • 如何在 Qt 应用程序中嵌入 Python 解释器?

    有没有一种简单的方法可以将 Python 解释器嵌入到 Qt 应用程序中 如果可能的话 我希望有一个跨平台的解决方案 这就是目的PythonQt http pythonqt sourceforge net 它支持 Windows Linux
  • glTranslatef 不在 glBegin .. glEnd 中工作

    我正在尝试并排绘制不同颜色的两个方块 我的问题是我无法让 glTranslatef 将第二个方块向右移动 第二个方块只是绘制在第一个方块上 void display void glClear GL COLOR BUFFER BIT glMa
  • 是否可以在 Mac OS X 上构建 FreeGLUT?

    我正在做一些关于 OpenGL 的教程 http www arcsynthesis org gltut Basics Tutorial 2001 html那个使用FreeGLUT http freeglut sourceforge net
  • 是否有 Qt 小部件可以浏览应用程序中小部件的层次结构(类似于 Spy++)?

    我们有一个具有复杂的小部件层次结构的应用程序 我希望能够以与 Spy 类似的方式浏览此层次结构 查看和编辑属性 例如大小 如果有一个小部件可以显示此信息 则它不需要在外部应用程序中运行 那么问题来了 这样的神兽存在吗 您可以使用Gammar
  • Qt中Q_PROPERTY的意义是什么?

    我无法理解 Q PROPERTY 的用法 Q PROPERTY 如何帮助程序具有防御性 它是干什么用的 我看过这个论坛 但确实无法应用 我已经理解了这个例子 但不明白它的用法 这是一个例子 我能从中得到什么 我知道阅读将赋予只读特权 wri
  • 覆盖 QWebView 中的页面回复

    我试图在 Qt 的 QWebView 中拦截页面 表单请求 并在某些情况下使用替代内容进行响应 QNetworkReply ngcBrowser createRequest Operation operation const QNetwor
  • OpenGL 新手: glutMouseFunc

    我试图在单击鼠标后更改球体位置 但在使用 glutMouseFunc 中的 x 和 y 时它不起作用 以下是代码 include stdafx h include
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • OpenGL 计算着色器调用

    我有一个与新计算着色器相关的问题 我目前正在研究粒子系统 我将所有粒子存储在着色器存储缓冲区中 以便在计算着色器中访问它们 然后我派遣一个一维工作组 define WORK GROUP SIZE 128 shaderManager gt u
  • OpenGL/GLSL - 纹理过滤的实现

    我想在 GLSL 着色器中自己实现纹理过滤 min 和 magfilter 因为我想使用 image load and store 而不是采样器 而且我想以特殊方式处理未定义的像素 并且我正在寻找一篇文章或者这样讨论过滤过程 我记得如何从我
  • QML 列表视图拖放

    我想创建两个 qml 列表视图 可以执行两个功能 拖放一个列表中的项目以更改项目的顺序 跨列表拖放项目 项目将从一个列表中删除并添加到另一个列表中 根据 Qt 文档中的拖放示例 我决定创建两个访问同一列表模型的列表视图 列表模型中的每个项目
  • 3D 图形批处理

    很多网站 文章都说 批量 批 批 有人可以解释一下着色器中的 批处理 代表什么吗 即 是否 改变纹理 更改任意着色器变量 意味着某些东西不能 批处理 最简单的总结方法就是尝试尽可能少地调用 API 来绘制您需要绘制的内容 使用顶点数组或 V
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 计算着色器中的 Image2D

    我想使用 image2D 作为顶点的 2D 存储 该顶点将由计算着色器修改 但不起作用 创建纹理 glGenTextures 1 HeightMap glBindTexture GL TEXTURE 2D HeightMap glTexIm
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u

随机推荐

  • 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