首页 > 其他分享 >Qt Quick 3D - 实现车道线 - 2(片元着色器控制虚实线)

Qt Quick 3D - 实现车道线 - 2(片元着色器控制虚实线)

时间:2023-02-19 05:33:17浏览次数:57  
标签:Qt shader 片元 Quick 着色器 3D

Qt Quick 3D - 实现车道线 - 2(片元着色器控制虚实线)

1.导入车道线模型。(这里不再赘述,自行参考该文档 :Qt Quick 3D - 模型的导入并加载

2.CustomMaterial

   这是Qt Quick 3D提供的一个接口,我们可以通过该接口实现使用shader来控制我们的模型材质,并进行形变操作;示意如下:

 

 

 fragmentShader用于操作顶点色值,进行形变,片元shader如下:

该行正常设置色值

 

 

 该行使之透明

 

 

 

由此可得思路:通过一个Timer定时器来实时传入一个随时间变化的offset,当一个小方块走到尽头的时候,回到原点,再次移动(其实就是几个数据小区间,在一段数据大区间头尾循环移动的计算过程),部分代码如下:

定时器:

 

 

部分shader:

 

 

 

实际效果展示:

 

标签:Qt,shader,片元,Quick,着色器,3D
From: https://www.cnblogs.com/helloc14/p/16353747.html

相关文章

  • Qt Quick 3D - 实现车道线 - 3(shader控制远近端虚化效果)
    QtQuick3D-实现车道线-3(远近端虚化效果)1.俩种方式  1.1一种是在顶点着色器里面通过计算远近端的顶点,并根据pos数值,进行除法计算,得到一个比例,再与color数值相......
  • Qt Quick 3D - 实战(ADAS场景)
    QtQuick3D-实战(ADAS场景、3D中控车辆展示)1.此篇介绍大致内容,后续会建一个仓库2.ADAS场景实战内容如下:  2.1车道线随信号数据进行曲率变化  2.2车道线随信......
  • Web浏览器端通过https 使用mqtt通讯
    做的产品简介这次需要做一个web端的上课平台,有音视频通讯,有白板(画板)功能,有文字通讯等。技术点音视频通讯需要走Webrtc需要跟ios,android,windows,mac客户端互......
  • Qt之2D绘图
    QPaintDevice提供绘图设备,它是一个抽象的二维空间,可以使用QPainter在其上进行绘制;QPaintDevice类是所有可以进行绘制的对象的基类,它的子类主要有QWidget,QPixmap,QImage,QPrint......
  • Qt简单版贪吃?游戏
    Widget::Widget(QWidget*parent):QWidget(parent),ui(newUi::Widget){ui->setupUi(this);resize(480,500);//设置窗体背景色为黑色setStyleShee......
  • QT主窗口关闭,同时关闭打开的子窗体
    问题描述:QT主窗口关闭,但打开的子窗体未关闭。解决方式:在子窗体的构造函数中,设置如下属性:this->setAttribute(Qt::WA_QuitOnClose,false);原理解释:我们可以发现,在主窗体......
  • qt的属性,动态属性,与样式表。
    首先参考两篇博客:Qt中的属性系统:https://blog.csdn.net/libaineu2004/article/details/88106976https://blog.csdn.net/feiyangqingyun/article/details/121177993总结:......
  • S2 - Lesson 34 - Quick work
    Words station most    Content QuickworkDanRobinsonhasbeenworriedallweek.LastTuesdayhereceivedaletterfromthelocalpolice.Inth......
  • QT——setMouseTracking函数
    (一)介绍首先介绍一个变量boolmouseTracking,这个变量保存值表示窗口部件跟踪鼠标是否生效。可以通过函数setMouseTracking()来设置其值,可以通过函数hasMouseTracking()来获......
  • Halcon与Qt之间的数据类型转换
    【HTuple与QString】(QString)hv_result[0].S();//HTuple转QStringhv_ImagePath=modelImagePath.toStdString().c_str();//QString转HTuple【HTuple与int】hv......