Отсутствуют функции буфера обратной связи преобразования Qt OpenGL

Я следил за серией руководств по изучению OpenGL и текущее руководство Я пытаюсь создать системы частиц с использованием буфера обратной связи преобразования OpenGL.

В моем приложении я использовал Qt версии 5.4.2 для простого дизайна 2D-интерфейса, а также для 3D-рендеринга, поскольку у него, кажется, есть множество классов для работы с OpenGL.

До этого момента все шло гладко, но, несмотря на доступ к функциям OpenGL вплоть до версии 4.3, мне по-прежнему не хватает функций для использования буфера обратной связи преобразования, который согласно Вики OpenGL являются основными функциями, начиная с версии 3.0.

Я провел небольшое исследование и нашел старые новости и сообщения в блогах еще в 2012 году о возможной поддержке таких функций в будущем, однако с тех пор я не могу найти ничего подходящего.

В прошлом я также видел, как люди выясняли некоторые способы доступа к другим функциям, которые не были реализованы напрямую в оболочках Qt, но я не уверен, как сделать это самостоятельно.

Итак, вкратце, как я могу использовать буфер обратной связи преобразования OpenGL и другие подобные функции в Qt 5.4.2?

Мне бы очень не хотелось застрять в таком месте, потому что обертка еще не закончена.

На случай, если мне просто не хватает включения заголовка, я пытался включить следующее, но функции, которые мне нужны, все еще не определены:

#include <QOpenGLFunctions>
#include <QOpenGLFunctions_4_3_Core>
#include <QtOpenGLExtensions/QOpenGLExtensions>
#include <QtOpenGLDepends>
#include <QtOpenGL/qgl.h>
#include <QtOpenGL>
#include <gl/GL.h>
#include <gl/GLU.h>

person Yattabyte    schedule 19.06.2015    source источник
comment
Просто найдите функции в заголовках Qt. Если они отсутствуют, сообщите об ошибке qt.   -  person Kuba hasn't forgotten Monica    schedule 19.06.2015
comment
Спасибо, я просмотрел заголовки и понял, что на самом деле все это время расширял не тот класс.   -  person Yattabyte    schedule 20.06.2015
comment
См. класс QOpenGLExtraFunctions. doc.qt.io/qt-5/qopenglextrafunctions.html#details   -  person Yichen Sheng    schedule 27.02.2019


Ответы (1)


Оказалось, что я никогда не расширял свой класс для использования QOpenGLFunctions_4_3_Core, а вместо этого просто использовал QOpenGLFunctions. Замена на прежнюю решила проблему.

person Yattabyte    schedule 19.06.2015