will try some openGL on android
This commit is contained in:
82
map/MapView.cpp
Normal file
82
map/MapView.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
#include "MapView.h"
|
||||
|
||||
|
||||
MapView::MapView(QWidget* parent) : QGLWidget(parent) {
|
||||
|
||||
};
|
||||
|
||||
void MapView::initializeGL() {
|
||||
|
||||
qglClearColor(Qt::black);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
glEnable(GL_CULL_FACE);
|
||||
glShadeModel(GL_SMOOTH);
|
||||
glEnable(GL_LIGHTING);
|
||||
glEnable(GL_LIGHT0);
|
||||
|
||||
static GLfloat lightPosition[4] = { 0, 0, 10, 1.0 };
|
||||
glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);
|
||||
|
||||
}
|
||||
|
||||
void MapView::paintGL() {
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glLoadIdentity();
|
||||
glTranslatef(0.0, 0.0, -10.0);
|
||||
glRotatef(20 / 16.0, 1.0, 0.0, 0.0);
|
||||
glRotatef(30 / 16.0, 0.0, 1.0, 0.0);
|
||||
glRotatef(60 / 16.0, 0.0, 0.0, 1.0);
|
||||
draw();
|
||||
}
|
||||
|
||||
void MapView::resizeGL(int width, int height) {
|
||||
int side = qMin(width, height);
|
||||
glViewport((width - side) / 2, (height - side) / 2, side, side);
|
||||
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glLoadIdentity();
|
||||
#ifdef QT_OPENGL_ES_1
|
||||
glOrthof(-2, +2, -2, +2, 1.0, 15.0);
|
||||
#else
|
||||
glOrtho(-2, +2, -2, +2, 1.0, 15.0);
|
||||
#endif
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
}
|
||||
|
||||
void MapView::draw()
|
||||
{
|
||||
qglColor(Qt::red);
|
||||
glBegin(GL_QUADS);
|
||||
glNormal3f(0,0,-1);
|
||||
glVertex3f(-1,-1,0);
|
||||
glVertex3f(-1,1,0);
|
||||
glVertex3f(1,1,0);
|
||||
glVertex3f(1,-1,0);
|
||||
|
||||
glEnd();
|
||||
glBegin(GL_TRIANGLES);
|
||||
glNormal3f(0,-1,0.707);
|
||||
glVertex3f(-1,-1,0);
|
||||
glVertex3f(1,-1,0);
|
||||
glVertex3f(0,0,1.2);
|
||||
glEnd();
|
||||
glBegin(GL_TRIANGLES);
|
||||
glNormal3f(1,0, 0.707);
|
||||
glVertex3f(1,-1,0);
|
||||
glVertex3f(1,1,0);
|
||||
glVertex3f(0,0,1.2);
|
||||
glEnd();
|
||||
glBegin(GL_TRIANGLES);
|
||||
glNormal3f(0,1,0.707);
|
||||
glVertex3f(1,1,0);
|
||||
glVertex3f(-1,1,0);
|
||||
glVertex3f(0,0,1.2);
|
||||
glEnd();
|
||||
glBegin(GL_TRIANGLES);
|
||||
glNormal3f(-1,0,0.707);
|
||||
glVertex3f(-1,1,0);
|
||||
glVertex3f(-1,-1,0);
|
||||
glVertex3f(0,0,1.2);
|
||||
glEnd();
|
||||
}
|
||||
Reference in New Issue
Block a user