2013-04-30 39 views
1

我正在使用qt 5.0.2(Windows x64)。問題是,qt只支持OpenGl 3函數,例如我不能使用glBegin(),glortho()等。你有任何想法如何在qt中使用OpenGL 1.x?如何在qt中使用OpenGL 1.x?

+0

您是否內置QT你自己或得到一個pre-pac kaged版本(MSVC2010等)? – Hydronium 2013-04-30 20:10:44

+0

是否有什麼特別的原因讓你將全新的(Qt 5)和古老的技術(OpenGL 1.x)混合? – cmannett85 2013-04-30 20:58:53

回答

0

我用這包括作爲標題,「gl.h」,在我想調用OpenGL函數我的Qt應用程序:

#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

它包括內置預用於Windows的dlls用於Visual C++ 2010和MinGW的環境。

4

你從哪裏得到的(錯誤的)想法的Qt 5僅支持的OpenGL> = 3.0? Qt獨立支持所有當前桌面OpenGL版本和配置文件(從1.1到4.3,Core/Compability)以及OpenGL ES(1.1到3.0)。

以任何機會,您使用的Windows二進制的OpenGL ES 2下載(通過角)?如果是這樣,請下載Desktop GL版本(或者自己構建,通過-opengl desktop進行配置)。

需要注意的是,在一般情況下,

  1. 你需要支持你問的版本(FI OS X 10.8支持多達3.2)
  2. 你需要一個Qt構建符合GL版本,你是司機要使用
  3. 的Qt的某些部分需要一定GL版本:QtQuick2需要OpenGL> = 2.0或ES 2.0(和在OpenGL的情況下> = 3.2,一個相容性分佈,必須使用)