Qt OpenGL textures详解

发布时间 2023-10-17 11:33:10作者: rmb_999

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对应不上,才会导致图形渲染程序失败!