首页 > 其他分享 >Qt OpenGL textures详解

Qt OpenGL textures详解

时间:2023-10-17 11:34:23浏览次数:31  
标签:textures 定义 OpenGL 函数 3D 重写 Qt

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

 

标签:textures,定义,OpenGL,函数,3D,重写,Qt
From: https://www.cnblogs.com/rmb999/p/17769216.html

相关文章

  • 理解MQTT协议(v3.1.1)
    1.概述MQTT协议概述2.数据包详解ControlPackets即14种MQTT类型的消息的二进制定义,本人按对协议的个人理解分别详述如下:CONNECT连接请求CONNACK连接请求应答PUBLISH发布消息PUBACK发布应答PUBREC发布收到QoS2消息收到PUBREL发布释放QoS2消息收到PUBCOMP......
  • MQTT控制报文格式 -- UNSUBACK – 取消主题订阅应答
    UNSUBACK数据包由服务器发送到客户端以确认收到UNSUBSCRIBE数据包。该数据包不包含Payload,所以剩余长度为2,即2字节的可变包头长度。1.固定包头FixedheaderBit76543210byte1MQTTControlPackettype(11)Reserved 1......
  • MQTT控制报文格式 -- PINGREQ – ping请求
    PINGREQ数据包从客户端发送到服务器。它可用于:在没有任何其他控制数据包从客户端发送到服务器的情况下,向服务器指示客户端处于活动状态。请求服务器响应以确认其处于活动状态。测试网络以指示网络连接处于活动状态。该数据包不需要可变包头,没有Payload部分其固定包头格式......
  • MQTT控制报文格式 -- UNSUBSCRIBE– 客户端取消订阅请求
    客户端向服务器发送取消订阅数据包,以取消订阅主题。1.固定包头FixedheaderBit76543210byte1MQTTControlPackettype(10)Reserved 10100010byte2RemainingLength2.可变包头Variab......
  • MQTT控制报文格式 -- SUBACK – 订阅应答
    SUBACK数据包由服务器发送到客户端以确认SUBSCRIBE数据包的接收和处理。SUBACK数据包包含返回代码列表,指定在SUBSCRIBE请求的每个订阅中授予的最大QoS级别1.固定包头Fixedheader固定包头的剩余长度=可变包头(2字节)+Payload长度Bit765432......
  • CLion 中 使用MSVC工具链构建QT项目时出现 ninja: build stopped: subcommand failed.
    两个方法:把构建方式改为Release;或者在CMakeList.txt中把一下行给注释了。 解释一下:这段代码的意思是:如果是MSVC工具链,且处在Debug模式下,把需要的库名加个后缀“d”。......
  • qt读取摄像头
    Qt中实时调取摄像头(利用OpenCV)_opencv获取网络摄像头qt_Loading_create的博客-CSDN博客C++版本#include<opencv2/opencv.hpp>#include"mainwindow.h"usingnamespacestd;usingnamespacecv;#undefmainintmain(){Matimage;VideoCapturecap(0);//c......
  • MQTT控制报文格式 -- SUBSCRIBE – 客户端订阅主题请求
    订阅数据包从客户端发送到服务器以创建一个或多个订阅。每个订阅都会登记客户对一个或多个主题的兴趣。服务器向客户端发送PUBLISH数据包,以便转发已发布到与这些订阅匹配的主题的应用程序消息。SUBSCRIBE数据包还指定(对于每个订阅)服务器可以向客户端发送应用程序消息的最大......
  • MQTT控制报文格式 -- PUBREC – Publish received (QoS 2 publish received, part 1)
    PUBREC数据包是对QoS2的PUBLISH数据包的响应。它是QoS2协议交换的第二个数据包。该数据包剩余长度为2该数据包没有Payload该数据包可变包头长度为2个字节1.固定包头FixedHeaderBit76543210byte1MQTTControlPackettyp......
  • Qt -- 判断信号是否绑定成功
    1.判断信号是否正确连接通过判断connect的返回值是否为true。bool_ok=connect(this,SIGNAL(signal1()),this,SLOT(slot1()));//打印trueqDebug()<<_ok;2.判断信号是否被连接了receivers返回的是该信号的连接数,如果大于0则为信号有连接。原型:[protected]i......