const char text[10] = "bruce wuu";
const char x = 'x';
const char y = 'y';
const char z = 'z';
GLWidget::GLWidget(QWidget *parent)
:QGLWidget(parent)
{
fEyeValue = 10.0;
}
void GLWidget::draw()
{
glRasterPos3f(0.0,0.0,0.0);
for(int i=0;i<10;i++)
glutBitmapCharacter(GLUT_BITMAP_9_BY_15,text[i]);
glBegin(GL_LINES);
glColor3f(1.0,0.0,0.0);
glVertex3f(-10.0,0.0,0.0);
glVertex3f(10.0,0.0,0.0);
glColor3f(0.0,1.0,0.0);
glVertex3f(0.0,-10.0,0.0);
glVertex3f(0.0,10.0,0.0);
glColor3f(0.0,0.0,1.0);
glVertex3f(0.0,0.0,-10.0);
glVertex3f(0.0,0.0,10.0);
glEnd();
glRasterPos3f(-5.0,0.0,0.0);
glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_10,'x');
glRasterPos3f(0.0,5.0,0.0);
glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_10,'y');
glRasterPos3f(0.0,0.0,5.0);
glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_10,'z');
}
void GLWidget::initializeGL()
{
glClearColor(1.0,1.0,0.5,1.0);
glClearDepth(1.0);
glDepthFunc(GL_LEQUAL);
glEnable(GL_DEPTH_TEST);
glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
glShadeModel(GL_SMOOTH);
}
void GLWidget::resizeGL(int w, int h)
{
if(h==0)
h=1;
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90.0,(GLfloat)w/h,0.1,1000.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void GLWidget::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glColor3f(1.0,0.0,0.0);
gluLookAt(fEyeValue,fEyeValue,fEyeValue,0.0,0.0,0.0,0.0,1.0,0.0);
draw();
}
void GLWidget::wheelEvent(QWheelEvent *ev)
{
int delta = ev->delta();
if(delta>0)
{
fEyeValue -=2.0;
}else
{
fEyeValue +=2.0;
}
update();
}