NeNe的代码中是加载到了一个正方体当中,代码很长。其实单纯的想要纹理贴图是很方便的。具体的纹理贴图技术在NeNe的书中的有很详细的介绍。
.h文件:
#ifndef PICGLWIDGET_H
#define PICGLWIDGET_H
#include <QtGui/QWidget>
#include <QWidget>
#include <QtOpenGL>
#include <GL/GLU.h>
#include <gl/gl.h>
class PicGLWidget : public QGLWidget
{
Q_OBJECT
public:
explicit PicGLWidget(QWidget *parent = 0);
~PicGLWidget();
protected:
void loadGLTextures ();
void initializeGL(); //初始化OpenGL窗口部件
void paintGL(); //绘制整个OpenGL窗口,只要有更新发生,这个函数就会被调用
void resizeGL(int width, int height); //处理窗口大小变化事件的,参数是新状态下的宽和高
void keyPressEvent(QKeyEvent *e); //鼠标处理函数
protected:
bool fullscreen; //判断是否全屏的变量
float Zyot;
GLuint texture[1];
};
#endif // PICGLWIDGET_H
.cpp文件:
#include "picglwidget.h"
PicGLWidget::PicGLWidget(QWidget *parent)
: QGLWidget(parent)
{
fullscreen =