我在Qt上制作了这个项目,我必须使用OpenGL来建模。我有这个代码,打开一个窗口,在屏幕上绘制一个立方体。我想知道如何使用键盘浏览这个场景?例如,我按向右箭头,“相机”将指向右方向,向左箭头指向左方向,向上箭头将“进入”(-z计划),向下箭头将“返回”(z计划)。< / p>
任何人都可以向我解释这是如何运作的吗?一些教程为此?有帮助吗? 我试图使用它lib lib,但如果Qt有一些简单的功能来做到这一点,请告诉我。
glwidget.cpp:
#include "glwidget.h"
#include <GLUT/glut.h>
GLWidget::GLWidget(QWidget *parent) : QGLWidget(parent) {
}
void GLWidget::initializeGL() {
glClearColor(0.2, 0.3, 0.4, 0.1);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHTING);
glEnable(GL_COLOR_MATERIAL);
}
void GLWidget::paintGL() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutWireCube(0.6);
}
void GLWidget::resizeGL(int w, int h) {
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45, (float)w/h, 0.01, 100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,0,5, 0,0,0, 0,1,0);
}
main.cpp中:
#include "mainwindow.h"
#include <QApplication>
#include <GLUT/glut.h>
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
mainwindow.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
有什么简单的方法可以做到这一点吗?这是我第一次使用这些工具。 (解释我好像是嘿嘿)