Qt i OpenGL - swapBuffers nie działa

0

Mam problem z swapbuffers - pojawia się pierwsza klatka, po czym okienko pozostaje nie aktualizowane.
Kodu nie daję, gdyż zmiany w porównaniu do przykładu są bardzo małe (kilka linijek).
Korzystałem z kodu:
http://doc.qt.io/qt-5/qtgui-openglwindow-example.html

Jedyne co zrobiłem, to podmieniłem QOpenGLFunctions na jeszcze niższy poziom (czysty OpenGL ze wsparciem GLAD), czyli odeszły mi klasy takie jak obsługa programów (sam sobie zrobiłem) oraz wysyłanie danych wierzchołków do VRAM.
W każdym razie pierwsza klatka z glClearColor czyści się dobrze (kolor fioletowy).
Ten sam kod z GLFW działa dobrze, tylko nie z Qt.
Czy ja robię coś źle? Może nie powinienem mieszać tak Qt z czystym OpenGL? Te nakładki Qt do OpenGL są troszkę bez sensu - niepotrzebnie utrudniają życie i mają tysiące bugów.

Korzystam z Qt 5.9.2 a glad podpiąłem ze wszystkimi możliwymi rozszerzeniami.

Aaa i zamineiłem QGuiApplication na QApplication, bo message box nie działał.

@Edit
Sprawdziłem przed chwilą, czy pętla renderująca wykonuje się - działa poprawnie.
Spróbowałem tez inaczej sprawdzić czy klatki aktualizują się - zrobiłem zmianę koloru trójkąta (co 1 sekundę) i czasem nawet pierwsza klatka się nie pojawia :<

0

Nie mam pewności czy qt nie ma własnych wewnętrznych mechanizmów przełączania buforów itp narzucających korzystanie z funkcji i klas do opengl zdefiniowanych w bibliotece.

Wybrałeś nie najprostszy przykład dla kogoś przyzwyczajonego do tutorialu typu sdl czy glfw i wykorzystujących glada, zresztą wykorzystywanie glada w qt jest bez sensu, bo ma QOpenGLShaderProgram ze wszelkimi korzyściami związanymi z tworzeniem programu shadera, to tak samo jakbyś dołączył bibliotekę glm i zamiast korzystać z QVector3D korzystał z glm::vec3 (fakt faktem szybciej się pisze, można tak zrobić ale fakt faktem to zupełnie bez sensu).
Qt ma też własną klasę do tworzenia buforów QOpenGLBuffer ułatwiający nieco tworzenie buforów wierzchołków i indeksów.
Ma też QFrameBuffer i inne takie tam, kwestia przyzwyczajenia, bo z początku to faktycznie dziwnie wszystko wygląda.

Polecałbym raczej przejrzeć textures example na początek.

1 użytkowników online, w tym zalogowanych: 0, gości: 1