Qt学习笔记-Qt中OpenGL的使用
生活随笔
收集整理的這篇文章主要介紹了
Qt学习笔记-Qt中OpenGL的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
現在窗口中心即為坐標原點,X軸從左到右,Y軸從下到上,Z軸從里到外。
?
程序運行截圖如下:
?
源碼如下:
myglwidget.h
#ifndef MYGLWIDGET_H #define MYGLWIDGET_H#include <QWidget> #include <QGLWidget>class MyGLWidget : public QGLWidget {Q_OBJECT public:explicit MyGLWidget(QWidget *parent = 0);signals:protected:void initializeGL();void resizeGL(int w, int h);void paintGL();public slots: };#endif // MYGLWIDGET_Hmain.cpp
#include "myglwidget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);MyGLWidget w;w.resize(400,300);w.show();return a.exec(); }?
myglwidget.cpp
#include "myglwidget.h" #include <GL/glu.h>MyGLWidget::MyGLWidget(QWidget *parent) : QGLWidget(parent) {}void MyGLWidget::initializeGL() {glClearColor(0.0,0.0,0.0,0.0);glShadeModel(GL_SMOOTH);glClearDepth(1.0);glEnable(GL_DEPTH_TEST); }void MyGLWidget::resizeGL(int w, int h) {glViewport(0,0,(GLint)w,(GLint)h);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluPerspective(45.0,(GLfloat)w/(GLfloat)h,0.1,100);glMatrixMode(GL_MODELVIEW);glLoadIdentity(); }void MyGLWidget::paintGL() {glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glLoadIdentity();glTranslatef(-2.0,0.0,-6.0);glBegin(GL_TRIANGLES);glVertex3f(-1.0,1.0,0.0);glVertex3f(0.0,-1.0,0.0);glVertex3f(1.0,1.0,0.0);glEnd();glTranslatef(4.0,0.0,0.0);glBegin(GL_QUADS);glVertex3f(-1.0,1.0,0.0);glVertex3f(-1.0,-1.0,0.0);glVertex3f(1.0,-1.0,0.0);glVertex3f(1.0,1.0,0.0);glEnd(); }?
總結
以上是生活随笔為你收集整理的Qt学习笔记-Qt中OpenGL的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux学习笔记-用vc编写Liunx
- 下一篇: OpenCV文档阅读笔记-brief C