Я новичок в Qt и делаю приложение, которое генерирует 3D-объект с некоторыми точками, которые пользователь предоставляет в графическом интерфейсе. Пользователь определяет точки, а затем в том же окне QOpenGLWidget рисует окончательный объект. Но тогда QOpenGLWindow не рисует модель (только GlCLearColor). Я пробовал те же функции, но вызывал перед app.exec() в main, и он отлично работает.
Я не знаю, что происходит. Я пробовал вызывать makeCurrent() перед работой с vao и vbo, но это не сработало.
Я не создавал ни темы, ни fbo.
Когда я попробовал makeCurrent до работы с vao и vbo, я получил: «QOpenGLBuffer::bind: буфер недействителен в текущем контексте» «QOpenGLShaderProgram::bind: программа недействительна в текущем контексте».
РЕДАКТИРОВАТЬ Я повторил попытку сделать текущий до привязки vao, vbo и шейдера, и сообщения исчезли, но виджет не рисует объект.
Я также пробовал QOPenGLWidget::update() после рисования. Он не рисует с изменением размера. Я использую профиль ядра OpenGL 4.1 и Qt 5.12.3.