C++ opengl 使视野转头移动(站桩看世界)
生活随笔
收集整理的這篇文章主要介紹了
C++ opengl 使视野转头移动(站桩看世界)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
程序運行截圖如下:
抬頭低頭上看:
向四周看:
?
關鍵是放置攝像機,攝像機相關博文如下:
https://blog.csdn.net/qq78442761/article/details/81176920
為什么要加單位矩陣原因如下:
https://blog.csdn.net/qq78442761/article/details/81411959
?
重要偽代碼如下:
void MyGLWidget::paintGL() {glLoadIdentity();gluLookAt(0.0, 0.0, 0.0, m_x, m_y, -1.0f, 0.0f, 1.0f, 0.0f);glClearColor(0.0f, 0.0f, 0.0f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);glEnable(GL_TEXTURE_2D);glBindTexture(GL_TEXTURE_2D, m_textures);glBegin(GL_QUADS);glColor4ub(255, 255, 255, 255);glTexCoord2f(0.0f, 0.0f);glVertex3f(-0.5f, -0.5f, -0.5f);glTexCoord2f(1.0f, 0.0f);glVertex3f(0.5f, -0.5f, -0.5f);glTexCoord2f(1.0f, 1.0f);glVertex3f(0.5f, 0.5f, -0.5f);glTexCoord2f(0.0f, 1.0f);glVertex3f(-0.5f, 0.5f, -0.5f);glEnd(); }?
void MyGLWidget::keyPressEvent(QKeyEvent *event) {switch (event->key()) {case Qt::Key_Up:m_y+=0.01;break;case Qt::Key_Left:m_x-=0.01;break;case Qt::Key_Right:m_x+=0.01;break;case Qt::Key_Down:m_y-=0.01;break;default:break;}update();QOpenGLWidget::keyPressEvent(event); }?
總結
以上是生活随笔為你收集整理的C++ opengl 使视野转头移动(站桩看世界)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux工作笔记-两Linux系统互传
- 下一篇: C++工作笔记-虚函数、纯虚函数、虚析构