Отсутствуют функции буфера обратной связи преобразования Qt OpenGL
Я изучал серию учебных пособий по изучению OpenGL, и текущий учебник, который я пытаюсь сделать, включает создание систем частиц с использованием буфера обратной связи для преобразования OpenGL.
В моем приложении я использовал Qt версии 5.4.2 для простого проектирования 2D-интерфейса, а также для 3D-рендеринга, поскольку, похоже, имеется множество классов для работы с OpenGL.
До этого момента все шло гладко, но, несмотря на доступ к функциям OpenGL до версии 4.3, мне все еще не хватает функций для использования буфера Transform Feedback, который, согласно вики 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>
1 ответ
Оказалось, что я никогда не расширял свой класс для использования QOpenGLFunctions_4_3_Core, а вместо этого был просто QOpenGLFunctions. Смена его на прежнюю решила проблему.