资源简介
主要实现了对一个简单的立方体进行鼠标三键操作,包括放大缩小平移等类似cad的可视化操作,对实现网格可视化等opengl绘图需求有较强的参考意义,已在qt5.11 msvc2017 64bitrelease下编译通过,附有编译完成的exe
代码片段和文件信息
#include “glwidget.h“
glwidget::glwidget(QWidget *parent):QOpenGLWidget(parent)
{
zscale=10;
verticalAngle = 0.0f;
horizonAngle = 0.0f;
center.setX(0);
center.setZ(0);
center.setY(0);
/*the coordinate blew need to coordinated with the input flight*/
eye.setX(0.f);
eye.setY(0.f);
eye.setZ(100.f);
upside.setX(1.f);
upside.setY(1.f);
upside.setZ(1.f);
upside.normalize();
TempTranslateVec.setX(0.0);
TempTranslateVec.setY(0.0);
TempTranslateVec.setZ(0.0);
viewport.setX(0.f);
viewport.setY(0.f);
viewport.setWidth(911);
viewport.setHeight(641);
}
glwidget::~glwidget(){}
void glwidget::resizeGL(int w int h){
setGeometry(this->x() this->y() wh);
glViewport(0 0
w h);
glMatrixMode(GL_PROJECTION); //选择投影矩阵
glLoadIdentity(); //重置投影矩阵
gluPerspective(45 (double) w / h 0.1 100000);
glMatrixMode(GL_MODELVIEW); //选择模型观察矩阵
}
void glwidget::initializeGL(){
setGeometry(0 0 600600);
glEnable(GL_LINE_SMOOTH);
glHint(GL_LINE_SMOOTH_HINT GL_NICEST);
//setGeometry(this->x() this->y() this->width()this->height());
glShadeModel( GL_SMOOTH );
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA);
glLineWidth(0.5);
glClearColor( 82.0/255 87.0/255 110.0/2550.0); //the same color as paraview‘s background
//glEnable(GL_CULL_FACE); //启用剔除操作效果
glClear(GL_DEPTH_BUFFER_BIT);
glEnable( GL_DEPTH_TEST ); //启用深度测试
glDepthFunc( GL_LEQUAL ); //若输入的深度值小于参考值,则通过(so wei
}
void glwidget::paintGL(){
resizeGL(this->width()this->height());
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
const float pi=3.14159265358;
eye.setX(zscale*cos(pi*verticalAngle/180.0)*cos(pi*horizonAngle/180.0)+center.x());
eye.setY(zscale*sin(pi*verticalAngle/180.0)+center.y());
eye.setZ(zscale*cos(pi*verticalAngle/180.0)*sin(pi*horizonAngle/180.0)+center.z());
glTranslatef(TempTranslateVec.x()TempTranslateVec.y()TempTranslateVec.z());
gluLookAt(eye.x()eye.y() eye.z()
center.x()center.y()center.z()
0.01.00.0);
glColor3f(1.00.00.0);
glBegin(GL_LINES);
glVertex3f(111);
glVertex3f(11-1);
glVertex3f(111);
glVertex3f(1-11);
glVertex3f(1-1-1);
glVertex3f(11-1);
glVertex3f(1-1-1);
glVertex3f(1-11);
glVertex3f(-111);
glVertex3f(-11-1);
glVertex3f(-111);
glVertex3f(-1-11);
glVertex3f(-1-1-1);
glVertex3f(-11-1);
glVertex3f(-1-1-1);
glVertex3f(-1-11);
glVertex3f(111);
glVertex3f(-111);
glVertex
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-08-29 12:18 opengldemo3D\
目录 0 2018-08-29 12:19 opengldemo3D\exe\
文件 4173928 2014-03-11 18:54 opengldemo3D\exe\D3Dcompiler_47.dll
文件 15360 2018-06-15 13:09 opengldemo3D\exe\libEGL.dll
文件 2509312 2018-06-15 13:09 opengldemo3D\exe\libGLESV2.dll
文件 20923392 2016-06-14 20:00 opengldemo3D\exe\opengl32sw.dll
文件 44032 2018-08-29 12:25 opengldemo3D\exe\opengldemo.exe
目录 0 2018-08-29 12:19 opengldemo3D\exe\platforms\
文件 1426944 2018-06-15 13:18 opengldemo3D\exe\platforms\qwindows.dll
文件 5916160 2018-08-29 12:19 opengldemo3D\exe\Qt5Core.dll
文件 6338560 2018-06-15 13:13 opengldemo3D\exe\Qt5Gui.dll
文件 328704 2018-06-15 22:43 opengldemo3D\exe\Qt5Svg.dll
文件 5541376 2018-06-15 13:15 opengldemo3D\exe\Qt5Widgets.dll
文件 21440 2018-08-29 11:52 opengldemo3D\glut.h
文件 4983 2018-08-29 12:17 opengldemo3D\glwidget.cpp
文件 855 2018-08-29 12:06 opengldemo3D\glwidget.h
目录 0 2018-08-29 12:18 opengldemo3D\lib\
文件 79898 1998-08-18 16:25 opengldemo3D\lib\glut32.lib
文件 183 2018-08-29 11:31 opengldemo3D\main.cpp
文件 281 2018-08-29 11:40 opengldemo3D\mainwindow.cpp
文件 361 2018-08-29 11:40 opengldemo3D\mainwindow.h
文件 1234 2018-08-29 12:12 opengldemo3D\mainwindow.ui
文件 1142 2018-08-29 11:54 opengldemo3D\opengldemo.pro
文件 23930 2018-08-29 12:06 opengldemo3D\opengldemo.pro.user
- 上一篇:tess-two-master
- 下一篇:创新冠唐设备管理系统2019破解版
相关资源
- 基于FFmpegQt的视频播放器完整源码.r
- qt-creator-linux-x86-opensource-2.5.0.part2
- qt-creator-linux-x86-opensource-2.5.0part1
- 基于Qt的温度检测预警系统
- CGUIQt4编程第二版.rar
- Linux窗口程序设计-Qt4精彩分析 part02
- QT视图-QTableView添加复选按钮、进度条
- PYQT5与Matplotlib_2019最新参考资料 含程
- Qt+Pcl可视化点云.rar
- OpenGL鱼眼镜头特效的视频播放器 基于
- opengl实现bezier曲面的纹理贴图、鼠标
- 基于qt和opencv的图片变形程序
- assimp.dll
- QT推箱子小游戏(QT课程设计)
- OpenGL SDK
- Qt实现的RSA密钥生成器[2048bit], 和工
- qt的甘特图
- 基于QT的五子棋系统
- QT4.5官方_帮助文档_使用手册_英文版
- OpenGL读取点云文件并绘制
- Qt5开发及第2版分卷二
- 计算机图形学大作业
- MinGW32-4.8.2.7z
- qt-4.8.4-x64-msvc2010.zip
- 从零开始学习音视频编程技术二十二
- Qt5.9.2+VS2017入门——透彻解析对应代码
- OpenCV与OpenGL实现增强现实
- 3d opengl 飞行射击游戏源码和论文
- Qt游戏代码之坦克大战
- QTMinGw下已经编译好的gdal库
评论
共有 条评论