Qt OpenGL textures详解
1. 初始化opengl资源

Q_INIT_RESOURCE:textures(资源名称)
QSurfaceFormat:定义3d面显示方式
如果在vs+qt vs tools 中无法正常显示3d图形,则需加入以下代码:
format.setStenciBufferSize(8);
format.setVersion(1,1);版本号根据用户安装的Qt版本来更改
2. 继承QOpenGLWidget和QOpenGLFunctions类

自定义一个用于显示3D的控件
重写最小尺寸

重写正常尺寸

重写初始化函数

重写绘制函数

重写大小改变函数

重写鼠标左键按下函数

重写鼠标移动函数

重写鼠标释放函数

定义6个纹理对象

定义1个用户代码片段对象

定义1个缓冲区

定义24个3维坐标

定义一个存放3维坐标的vector

给缓存对象申请空间

3. 加载显示3D图形
构建6个面对象

定时旋转其中一个实例

这样就大功告成了,这时候运行程序就会看到旋转的带有6个面的3D图形,如果显示不出来,证明初始化资源失败了,一般是opengl version对应不上,才会导致图形渲染程序失败!

浙公网安备 33010602011771号