Вот здесь проблему вывода GDI+OpenGL в один QGLWidget решили
http://prog.org.ru/forum/htopic_3682_%CF%D4%D2%C9%D3%CF%D7%CB%C1+opengl.htmlтолько у меня не получается при вызове вот таком
void AOpenGL::paintEvent(QPaintEvent *event)
{
QPainter painter;
painter.setRenderHint(QPainter::Antialiasing);
painter.begin(this);
glClearColor(0, 0, 0, 1);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt
(
0.5, 0.5, 1,
0.5, 0.5, 0,
0, 1, 0
);
genFrameTex();
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, tex);
glBegin(GL_QUADS);
glTexCoord2f(0, 1);
glVertex3f(0, 0, 0);
glTexCoord2f(1, 1);
glVertex3f(1, 0, 0);
glTexCoord2f(1, 0);
glVertex3f(1, 1, 0);
glTexCoord2f(0, 0);
glVertex3f(0, 1, 0);
glEnd();
glDisable(GL_TEXTURE_2D);
painter.end();
}
Выводится просто чёрный экран. Может авторы предыдущей темы пояснят немного где грабли.
добавлено спустя 1 час 45 минут: Малость переформулирую вопрос, вот такой вот код не обновляет картинку постоянно. Неужели нельзу как-то обойтись без QTimer? Как обычно, обновляют сцены в OGL+QT? В WinAPI там цикл устраивался while(true), а здесь как зациклить обновление картинки?
void AOpenGL::paintEvent(QPaintEvent *event)
{
QPainter painter;
painter.begin(this);
resizeGL(width(), height());
renderFrame();
painter.end();
}