【发布时间】:2019-07-18 16:08:35
【问题描述】:
我是 Qt 的新手,我正在制作一个应用程序,它可以生成一个 3D 对象,其中包含用户在 GUI 中提供的一些点。用户定义点,然后在同一个窗口中,QOpenGLWidget 绘制最终对象。但是,QOpenGLWindow 不绘制模型(只有 GlCLearColor)。我已经尝试过相同的功能,但在 main 中的 app.exec() 之前调用了它,它工作正常。
我不知道发生了什么。在使用 vao 和 vbo 之前,我曾尝试调用 makeCurrent(),但它不起作用。
我还没有创建任何线程,也没有 fbo。
当我在使用 vao 和 vbo 之前尝试 makeCurrent 时,我得到: “QOpenGLBuffer::bind: 缓冲区在当前上下文中无效” “QOpenGLShaderProgram::bind: 程序在当前上下文中无效。”
编辑我在 vao、vbo 和着色器绑定之前重试了当前状态,消息消失了,但小部件没有绘制对象。
绘制后我也尝试过 QOPenGLWidget::update()。它不会通过调整大小来绘制。 我正在使用 OpenGL 4.1 核心配置文件和 Qt 5.12.3
【问题讨论】:
标签: c++ qt opengl qopenglwidget