Я не могу рисовать на QOpenGLWidget

Я новичок в Qt и создаю приложение, которое генерирует трехмерный объект с некоторыми точками, которые пользователь предоставляет в графическом интерфейсе. Пользователь определяет точки, а затем в том же окне QOpenGLWidget рисует конечный объект. Но тогда QOpenGLWindow не рисует модель (только GlCLearColor). Я пробовал те же функции, но вызывал перед app.exec() в основном, и он работает нормально.

Я не знаю, что происходит. Я пытался вызвать makeCurrent() перед работой с vao и vbo, но он не работает.

Я не создал ни одного потока, ни FBO.

Когда я попробовал makeCurrent перед работой с vao и vbo, я получил: "QOpenGLBuffer::bind: buffer недопустим в текущем контексте" "QOpenGLShaderProgram::bind: программа недопустима в текущем контексте".

РЕДАКТИРОВАТЬ Я попытался сделать текущий до привязки vao, vbo и shader, и сообщения исчезли, но виджет не рисует объект.

Я также попробовал QOPenGLWidget::update() после рисования. Это не рисует с изменением размера. Я использую OpenGL 4.1 Core Profile и Qt 5.12.3

1 ответ

Я уже решил это! Я просто забыл сделать ток перед установкой равномерных значений в шейдерах.

Другие вопросы по тегам