summaryrefslogtreecommitdiffhomepage
path: root/FTNoIR_PoseWidget/glwidget.h
diff options
context:
space:
mode:
authorWim Vriend <facetracknoir@gmail.com>2011-03-28 21:15:30 +0000
committerWim Vriend <facetracknoir@gmail.com>2011-03-28 21:15:30 +0000
commit43734bf0f9fa8531b817943756157a2c459886a8 (patch)
tree7eb4637767f8c10a35e80d4583a40a29d82b5d08 /FTNoIR_PoseWidget/glwidget.h
parent62a27051a8222ba2759af4afcaf86eb0321786c1 (diff)
Added the display for the output-pose, with the 'man in black'.
git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@59 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb
Diffstat (limited to 'FTNoIR_PoseWidget/glwidget.h')
-rw-r--r--FTNoIR_PoseWidget/glwidget.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/FTNoIR_PoseWidget/glwidget.h b/FTNoIR_PoseWidget/glwidget.h
new file mode 100644
index 00000000..cff8cb83
--- /dev/null
+++ b/FTNoIR_PoseWidget/glwidget.h
@@ -0,0 +1,72 @@
+/********************************************************************************
+* FaceTrackNoIR This program is a private project of the some enthusiastic *
+* gamers from Holland, who don't like to pay much for *
+* head-tracking. *
+* *
+* Copyright (C) 2010 Wim Vriend (Developing) *
+* Ron Hendriks (Researching and Testing) *
+* *
+* Homepage *
+* *
+* This program is free software; you can redistribute it and/or modify it *
+* under the terms of the GNU General Public License as published by the *
+* Free Software Foundation; either version 3 of the License, or (at your *
+* option) any later version. *
+* *
+* This program is distributed in the hope that it will be useful, but *
+* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+* more details. *
+* *
+* Adopted this widget from the 'textures' sample of the Nokia Qt toolkit. *
+* *
+* You should have received a copy of the GNU General Public License along *
+* with this program; if not, see <http://www.gnu.org/licenses/>. *
+*********************************************************************************/
+
+#ifndef GLWIDGET_H
+#define GLWIDGET_H
+
+#include <QtGui>
+#include <QGLWidget>
+
+class QGLShaderProgram;
+
+class GLWidget : public QGLWidget
+{
+ Q_OBJECT
+
+public:
+ GLWidget(QWidget *parent = 0, QGLWidget *shareWidget = 0);
+ ~GLWidget();
+
+ QSize minimumSizeHint() const;
+ QSize sizeHint() const;
+ void rotateBy(int xAngle, int yAngle, int zAngle);
+ void setClearColor(const QColor &color);
+
+signals:
+ void clicked();
+
+protected:
+ void initializeGL();
+ void paintGL();
+ void resizeGL(int width, int height);
+
+private:
+ void makeObject();
+
+ QColor clearColor;
+ QPoint lastPos;
+ int xRot;
+ int yRot;
+ int zRot;
+ GLuint textures[6];
+ QVector<QVector3D> vertices;
+ QVector<QVector2D> texCoords;
+#ifdef QT_OPENGL_ES_2
+ QGLShaderProgram *program;
+#endif
+};
+
+#endif