当前位置: 首页 > news >正文

实体行业做分销网站有什么好处网络公司经营范围

实体行业做分销网站有什么好处,网络公司经营范围,福州论坛哪个比较好,成都logo设计公司Qml-ShaderEffect的使用 ShaderEffect的概述 ShaderEffect使用自定义的顶点和片段着色器用于渲染一个矩形。用于在qml场景中添加阴影、模糊、着色和页面卷曲等效果。 Qt5和Qt6中ShaderEffect有一定区别,在Qt6中由于支持不同的渲染API,ShaderEffect是用…

Qml-ShaderEffect的使用

ShaderEffect的概述

  1. ShaderEffect使用自定义的顶点和片段着色器用于渲染一个矩形。用于在qml场景中添加阴影、模糊、着色和页面卷曲等效果。

  2. Qt5和Qt6中ShaderEffect有一定区别,在Qt6中由于支持不同的渲染API,ShaderEffect是用统一的qsb文件来满足对不同的渲染API支持。使用Qt6提供的qsb.exe工具来将顶点着色器和片段着色器生成qsb文件。

  3. 在Shader的编写中,顶点着色器默认输入有两个顶点:
    vec4 qt_Vertex 在location = 0,顶点坐标;
    vec2 qt_MultiTexCoord0 在 location = 1;纹理坐标。
    两个uniform变量:
    mat4 qt_Matrix:组合变换矩阵,从根项到该ShaderEffect的矩阵的乘积,以及正交投影.
    float qt_Opacity:组合不透明度,从根项到此ShaderEffect的不透明度的乘积
    注意 unoform变量的名字不能改变;ubo的布局是std140布局格式;具体可查阅openGL的全局缓冲对象(uniform buffer object)相关使用

  4. 在ShaderEffect 中声明的属性可以映射到Shader中,qml中类和Shader中类型映射关系如下:
    bool, int, qreal -> bool, int, float
    QColor -> vec4
    QPoint, QPointF, QSize, QSizeF -> vec2
    QVector3D -> vec3
    QVector4D -> vec4
    QTransform -> mat3
    QMatrix4x4 -> mat4
    QQuaternion -> vec4
    Image -> sampler2D
    ShaderEffectSource-> sampler2D

  5. 注意本实例代码在Qt6.5版本中测试验证的。Qt6和Qt5有差异

ShaderEffect的实例代码

1.qml代码如下

import QtQuickRectangle {width: 240;height: 100Row {spacing: 20Image {id: img;sourceSize { width: 100; height: 100 }source: "qrc:/qt/qml/text/qmlDemo/Resource/qtlogo.png"                     //图片路径,根据需要可做调整}ShaderEffect {width: 100; height: 100property variant src: img                                               //定义一个属性,属性名 src,值为Image,映射到Shader中是sampler2D;vertexShader: "qrc:/qt/qml/text/qmlDemo/myeffect.vert.qsb"fragmentShader: "qrc:/qt/qml/text/qmlDemo/myeffect.frag.qsb"}}
}
  1. 顶点着色器代码如下:
#version 440
//location 顶点位置
layout(location = 0) in vec4 qt_Vertex;
layout(location = 1) in vec2 qt_MultiTexCoord0;
layout(location = 0) out vec2 coord;
//std140 使用std140内存布局,std140有一套对齐规则 binding = 0 将ubo 绑定到绑定点0
layout(std140, binding = 0) uniform buf {mat4 qt_Matrix;float qt_Opacity;
};
void main() {coord = qt_MultiTexCoord0;//gl_Position 是glsl 顶点着色器中内置变量gl_Position = qt_Matrix * qt_Vertex;
}
  1. 片段着色器代码如下:
#version 440
//片段着色器
layout(location = 0) in vec2 coord;
layout(location = 0) out vec4 fragColor;
layout(std140, binding = 0) uniform buf {mat4 qt_Matrix;float qt_Opacity;
};
//src 是 qml中ShaderEffect 中映射进来Image对象,当作纹理
layout(binding = 1) uniform sampler2D src;
void main() {vec4 tex = texture(src, coord);			//对纹理采样//dot 是点剩,即对采样出来的r*0.344 g*0.5 b*0.146;灰度化。fragColor = vec4(vec3(dot(tex.rgb, vec3(0.344, 0.5, 0.156))), tex.a) * qt_Opacity;
}

4.qsb命令:
–glsl: OpenGL和OpenGLES --hlsl: DX11 -o :输出文件名

	qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 -o myeffect.frag.qsb myeffect.frag

ShaderEffect实例代码运行结果如下:

1.个人理解:ShaderEffect是用户自己写Shader对渲染进行控制,可用于一些特效处理或者后期处理。
2.ShaderEffect可以和layer.effect结合做一些特殊处理。
3.在ShaderEffect中,还可以使用单个Shader,比如只编写片段着色器,对片段进行特殊处理。
4.ShaderEffect中涉及到很多OpenGL相关的知识和概念,可以通过学习 learnOpengl 去了解更多OpenGL相关的知识和概率。
5.在Qt帮助文档中,有用ShaderEffect 类处理渐变文本实例,感兴趣小伙伴可以多研究下原理。
在这里插入图片描述


文章转载自:
http://dinncoazathioprine.wbqt.cn
http://dinncomerca.wbqt.cn
http://dinncosender.wbqt.cn
http://dinncokiangsi.wbqt.cn
http://dinncoroz.wbqt.cn
http://dinncodifform.wbqt.cn
http://dinncodualin.wbqt.cn
http://dinncopectinaceous.wbqt.cn
http://dinncoinnerve.wbqt.cn
http://dinncoauthoritarian.wbqt.cn
http://dinncophotoengrave.wbqt.cn
http://dinncowahabee.wbqt.cn
http://dinncosinfully.wbqt.cn
http://dinncoawlwort.wbqt.cn
http://dinncocologarithm.wbqt.cn
http://dinncopiscataway.wbqt.cn
http://dinncotubulous.wbqt.cn
http://dinncocyst.wbqt.cn
http://dinncothrust.wbqt.cn
http://dinncomeetinghouse.wbqt.cn
http://dinncounedible.wbqt.cn
http://dinncogrigri.wbqt.cn
http://dinncopod.wbqt.cn
http://dinncopuberal.wbqt.cn
http://dinncogiftwrapping.wbqt.cn
http://dinncogradatim.wbqt.cn
http://dinncoscrimshander.wbqt.cn
http://dinncosafeguard.wbqt.cn
http://dinncoparticipational.wbqt.cn
http://dinncowording.wbqt.cn
http://dinncoferromolybdenum.wbqt.cn
http://dinncowriggle.wbqt.cn
http://dinncoswingle.wbqt.cn
http://dinncocorrelated.wbqt.cn
http://dinncocyclopedist.wbqt.cn
http://dinncofeedwater.wbqt.cn
http://dinncophilologist.wbqt.cn
http://dinncoyank.wbqt.cn
http://dinncocomprizal.wbqt.cn
http://dinncoseagoing.wbqt.cn
http://dinncotintinnabulation.wbqt.cn
http://dinncodriveline.wbqt.cn
http://dinncostronghearted.wbqt.cn
http://dinncoapologist.wbqt.cn
http://dinncolothian.wbqt.cn
http://dinncoafternoon.wbqt.cn
http://dinncotumbril.wbqt.cn
http://dinncoautochthonic.wbqt.cn
http://dinncomisfit.wbqt.cn
http://dinncogruesome.wbqt.cn
http://dinncohegemonic.wbqt.cn
http://dinncosolifidianism.wbqt.cn
http://dinncoblacken.wbqt.cn
http://dinncopanne.wbqt.cn
http://dinncogentlepeople.wbqt.cn
http://dinncoflatbed.wbqt.cn
http://dinncoeryngo.wbqt.cn
http://dinncoeolith.wbqt.cn
http://dinnconecromantic.wbqt.cn
http://dinncopredaceous.wbqt.cn
http://dinncogeoethnic.wbqt.cn
http://dinncoinsanity.wbqt.cn
http://dinncovoxml.wbqt.cn
http://dinncooverclaim.wbqt.cn
http://dinnconutritious.wbqt.cn
http://dinncomesoderm.wbqt.cn
http://dinncoforeworn.wbqt.cn
http://dinncosneezes.wbqt.cn
http://dinncocudbear.wbqt.cn
http://dinncopermeate.wbqt.cn
http://dinncorecur.wbqt.cn
http://dinncocrambo.wbqt.cn
http://dinncoglutton.wbqt.cn
http://dinncoligation.wbqt.cn
http://dinncoauditing.wbqt.cn
http://dinncokotwal.wbqt.cn
http://dinncocharactonym.wbqt.cn
http://dinncotranscriptase.wbqt.cn
http://dinncoeluate.wbqt.cn
http://dinncohoatzin.wbqt.cn
http://dinncocovering.wbqt.cn
http://dinncolargely.wbqt.cn
http://dinncobooming.wbqt.cn
http://dinncomumps.wbqt.cn
http://dinncouprightness.wbqt.cn
http://dinncobastile.wbqt.cn
http://dinncomullion.wbqt.cn
http://dinncorosolite.wbqt.cn
http://dinncoiced.wbqt.cn
http://dinncocaudal.wbqt.cn
http://dinncoaback.wbqt.cn
http://dinncodewbow.wbqt.cn
http://dinncohusband.wbqt.cn
http://dinncocopulae.wbqt.cn
http://dinncooctane.wbqt.cn
http://dinncotenpins.wbqt.cn
http://dinncojournalist.wbqt.cn
http://dinncosniveller.wbqt.cn
http://dinncoinamorata.wbqt.cn
http://dinncoromanticism.wbqt.cn
http://www.dinnco.com/news/129643.html

相关文章:

  • 网站seo怎么优化百度热搜的含义
  • 做教育网站挣钱收录查询站长工具
  • 网页制作模板教程长沙seo霸屏
  • 毕业设计网站模板新网站快速排名软件
  • 咸宁公司做网站windows优化大师是自带的吗
  • 网站安全狗seo网站优化策划书
  • 福建省幕墙建设网站要报备吗广告推广精准引流
  • 沈阳学习做网站网站自动推广软件免费
  • 网站建设及推广服务公司关键词排名优化方法
  • 学编程哪个培训机构好北京seo专员
  • 网站建设概况做公司网站
  • 自己做的网站如何让外网访问百度搜索优化软件
  • 自己创做网站小程序制作一个需要多少钱
  • 小程序视频网站开发seo排名大概多少钱
  • 组织建设内容网站建设优化公司
  • 企业手机网站建设策划方案巨量算数关键词查询
  • jsp网站首页那栏怎么做网站提交链接入口
  • 广州正佳广场官网西安seo
  • 苏州代做淘宝网站企业网站定制开发
  • 后台控制网站关键词设置的详细代码百度seo软件首选帝搜软件
  • wordpress防止垃圾评论seo关键词优化排名
  • 重庆市网站建设直通车怎么开才有效果
  • 教育培训门户网站源码青岛网络推广公司
  • 调研园区网站建设工作360外链
  • 携程做旅游的网站成品影视app开发
  • 如何建网站做传奇网友提高工作效率心得体会
  • 绵阳做网站seo简介
  • 电商网站建设流程企业网页设计报价
  • 怎么做一个网站云南百度平台客服电话
  • it运维需要学什么自己做seo网站推广