C++ 什么时候使用Qt在opengl中创建渲染上下文?
我正在用Qt试用OpenGL。我从Qt的文档中编译了。本例中有两个并排的动画,一个本地运行,另一个由OpenGL渲染。不过,我看不出有什么不同。如何确保使用了硬件加速器。我正在使用Ångström Linux在嵌入式设备上运行该示例 我在opengl小部件的构造函数中添加了一行,以确定使用的渲染器,但该函数始终返回空指针C++ 什么时候使用Qt在opengl中创建渲染上下文?,c++,linux,qt,opengl,C++,Linux,Qt,Opengl,我正在用Qt试用OpenGL。我从Qt的文档中编译了。本例中有两个并排的动画,一个本地运行,另一个由OpenGL渲染。不过,我看不出有什么不同。如何确保使用了硬件加速器。我正在使用Ångström Linux在嵌入式设备上运行该示例 我在opengl小部件的构造函数中添加了一行,以确定使用的渲染器,但该函数始终返回空指针 GLWidget::GLWidget(Helper *helper, QWidget *parent) : QGLWidget(QGLFormat(QGL::Samp
GLWidget::GLWidget(Helper *helper, QWidget *parent)
: QGLWidget(QGLFormat(QGL::SampleBuffers), parent), helper(helper)
{
elapsed = 0;
setFixedSize(200, 200);
setAutoFillBackground(false);
printf(" OpenGL Renderer: %s\n",glGetString(GL_RENDERER)); //added this line
}
现在我在许多在线论坛上读到,我需要一个有效的渲染上下文。但这意味着什么,使用Qt时它是什么时候创建的?我尝试在GLWidget的所有其他函数中使用相同的函数,但没有任何运气 openGL场景在QGlWidget函数中渲染,您通常需要使用自己的paintGL函数从QGlWidget派生
NeHe教程已经完成了我相信它会尽可能晚地初始化,也就是说,在实际需要绘制某些内容时 从文档中: 处理在事件参数中传递的绘制事件。将导致调用virtual paintGL()函数。
小部件的呈现上下文将成为当前上下文,如果尚未调用initializeGL(),则将调用它
这是否意味着调用paintEvent()后渲染上下文会被破坏?不一定。但它只是在第一次需要绘制某些内容时才完全初始化。它应该始终在您应该覆盖的
paintGL
虚拟环境中可用。什么硬件,视频驱动程序支持opengl?@neagogegab:它实际上只支持OpenGLES 1.1和2.0,OpenVG1.0,但编译和运行的Qt示例没有问题。这就是为什么我要找出到底发生了什么。