Я использую qt 5.0.2 (Windows x64). Проблема в том, что qt поддерживает только функции OpenGl 3 и, например, я не могу использовать glBegin(), glortho() и т. Д. Есть ли у вас представление о том, как я могу использовать OpenGL 1.x внутри qt?Как использовать OpenGL 1.x внутри qt?
ответ
Я использую это включено в качестве заголовка, «gl.h», в моих приложениях Qt, где я хочу, чтобы вызывать функции OpenGL:
#ifndef GL_H
#define GL_H
#ifdef __APPLE__
#include <GL/glew.h>
#include <GLUT/glut.h>
#else
#include <GL/glew.h>
#include <GL/glut.h>
#endif
#endif // GL_H
Обратите внимание, у Вас должен быть установлен правильный сборках OpenGL, GLEW и GLUT для этого включают в себя правильную работу. Если вы используете MinGW, создайте GLEW и GLUT для использования MinGW. Если вы используете Visual C++ 2010, построить их для поддержки Visual C++ 2010.
Часть моего mainwindow.cpp:
#include "gl.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "about.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
m_glWidget = new GLWidget();
this->setCentralWidget(m_glWidget);
}
MainWindow::~MainWindow()
{
delete ui;
}
Взгляните на этот код здесь, чтобы получить полный контекст: https://bitbucket.org/pcmantinker/csc-4356/src/2843c59fa06d0f99d1ba90bf8e328cbb10b1cfb2/project2?at=master
Мой код Qt 4.x, но должно быть достаточно легко портировать на Qt 5. Кроме того, здесь есть ссылка на веб-странице класса, который я взял осенью 2012 года: http://csc.lsu.edu/~kooima/csc4356/index.html
Она включает в себя преднастроенным dll для Windows en vironments для Visual C++ 2010 и MinGW.
Где вы получили (неправильную) идею о том, что Qt 5 поддерживает только OpenGL> = 3.0? Qt самостоятельно поддерживает все текущие версии и профили OpenGL для настольных ПК (от 1.1 до 4.3, Core/Compability), а также OpenGL ES (от 1.1 до 3.0).
Возможно, вы используете бинарные загрузочные файлы OpenGL ES 2 (через ANGLE) для Windows? Если это так, загрузите версию Desktop GL (или создайте ее самостоятельно, пропустив -opengl desktop
для настройки).
Обратите внимание, что, в общем,
- вам нужны драйверы, которые поддерживают версию вы просите (фи OS X 10.8 поддерживает до 3.2)
- вам нужен Qt построить соответствующие версии GL вы собирается использовать
- некоторые части Qt требуют определенных GL версии: QtQuick2 требует OpenGL> = 2,0 или ES 2.0 (и в случае OpenGL> = 3.2, профиль совместимости необходимо использовать)
- 1. Использовать OpenGL или Qt?
- 2. OpenGL ES 1.x Shaders
- 3. Обучение OpenGL ES 1.x
- 4. Как использовать PBO с Qt OpenGL
- 5. Как использовать собственный OpenGL с Qt 5.4?
- 6. Как использовать OpenGL в QT Creator
- 7. OpenGL: Как использовать glMapBuffer с Qt?
- 8. Как использовать функции OpenGL на QT OpenGL Widget?
- 9. Портирование OpenGL 1.x кода в WebGL
- 10. Как использовать функции x(), y() в Qt
- 11. Opengl-es 1.x добавить тень?
- 12. OpenGL ES 1.x программируемый конвейер
- 13. OpenGL ES 2.x совместим с OpenGL
- 14. OpenCV + OpenGL + Qt
- 15. Проект C++/QML, совместимый с Qt 4 (QtQuick 1.x) и Qt 5 (QtQuick 2.x)
- 16. Qt OpenGL error '_imp_gl ...'
- 17. Как изменить размер виджета OpenGL внутри класса формы Qt
- 18. Событие QT + OpenGL loop
- 19. X зависает из-за приложения (используйте C++, Qt, OpenGL)
- 20. Qt 5.0.2 и OpenGL
- 21. Использование Qt без openGL
- 22. QT OpenGL Memory Leak
- 23. проблема opengl с QT
- 24. Как использовать Singleton в Dagger 1.x?
- 25. Как использовать angularjs со стойками 1.x
- 26. Как использовать tls 1.x, используя wininet
- 27. Как использовать syslog с LOG4J 1.x?
- 28. Opengl in Qt 5.6
- 29. Как реализовать glPushAttrib (GL_CURRENT_BIT) в OpenGL ES 1.x
- 30. Получение координат мыши Qt OpenGL
ли вы построили QT самостоятельно или получить pre-pac (для MSVC2010 или такой)? – Hydronium
Есть ли какая-то особая причина, по которой вы смешиваете новый (Qt 5) и древнюю технологию (OpenGL 1.x)? – cmannett85