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

vs2017移动网站开发宁波 小程序开发公司

vs2017移动网站开发,宁波 小程序开发公司,中国建设银行官网站陕西西安,网站的统计 怎么做实现一个简单的2D精灵图描边效果#xff0c;效果如下 实现思路#xff1a; 可以通过判断该像素周围是否有透明度为 0的值#xff0c;如果有#xff0c;则说明该像素位于边缘。 所以我们需要打开alpha blend#xff0c;即#xff1a; Blend SrcAlpha OneMinusSrcAlpha效果如下 实现思路 可以通过判断该像素周围是否有透明度为 0的值如果有则说明该像素位于边缘。 所以我们需要打开alpha blend即 Blend SrcAlpha OneMinusSrcAlpha并且加入渲染队列 Tags{Queue Transparent } Blend SrcAlpha OneMinusSrcAlpha根据图片的Alpha值边缘判定向内扩一段距离做边缘颜色设置为描边颜色 片元着色阶段向上下左右四个方向做检测有一个点的透明度为0判定为边缘 fixed4 frag(v2f i) : SV_Target{fixed4 col tex2D(_MainTex, i.uv);// 采样周围4个点float2 up_uv i.uv float2(0, 1) * _LineWidth * 1 / 10 * _MainTex_ST.xy;float2 down_uv i.uv float2(0,-1) * _LineWidth * 1 / 10 * _MainTex_ST.xy;float2 left_uv i.uv float2(-1,0) * _LineWidth * 1 / 10 * _MainTex_ST.xy;float2 right_uv i.uv float2(1,0) * _LineWidth * 1 / 10 * _MainTex_ST.xy;// 如果有一个点透明度为0 说明是边缘float w tex2D(_MainTex,up_uv).a * tex2D(_MainTex,down_uv).a * tex2D(_MainTex,left_uv).a * tex2D(_MainTex,right_uv).a;if (w 0) {col.rgb lerp(_LineColor * _Intensity, col.rgb, w);}return col;}如果图片内容恰好铺满整张图没有alpha值方法不适用 outline 可以和原图做插值根据边缘判断来混合线的颜色和原图颜色 完整shader如下 Shader shader2D/outline {Properties{_MainTex (Texture, 2D) white {} // 主纹理属性用于存储2D纹理_lineWidth(lineWidth,Range(0,10)) 1 // 线宽属性范围在0到10之间默认值为1_lineColor(lineColor,Color)(1,1,1,1) // 线的颜色属性RGBA格式默认为白色}SubShader{// 渲染队列采用透明Tags{Queue Transparent}Blend SrcAlpha OneMinusSrcAlpha // 设置混合模式为源颜色乘以源透明度减去源透明度Pass{CGPROGRAM#pragma vertex vert #pragma fragment frag #include UnityCG.cginc // 顶点着色器输入结构体 struct VertexInput{float4 vertex : POSITION; // 顶点坐标float2 uv : TEXCOORD0; // 纹理坐标};// 顶点着色器输出结构体 struct VertexOutput{float2 uv : TEXCOORD0; // 纹理坐标float4 vertex : SV_POSITION; // 顶点坐标};VertexOutput vert (VertexInput v){VertexOutput o;o.vertex UnityObjectToClipPos(v.vertex); // 将顶点坐标转换到裁剪空间o.uv v.uv; // 传递纹理坐标return o;}sampler2D _MainTex; // 主纹理float4 _MainTex_TexelSize; // 主纹理的像素大小float _lineWidth; // 线宽float4 _lineColor; // 线的颜色fixed4 frag (VertexOutput i) : SV_Target{fixed4 col tex2D(_MainTex, i.uv); // 获取纹理颜色// 采样周围4个点float2 up_uv i.uv float2(0,1) * _lineWidth * _MainTex_TexelSize.xy;float2 down_uv i.uv float2(0,-1) * _lineWidth * _MainTex_TexelSize.xy;float2 left_uv i.uv float2(-1,0) * _lineWidth * _MainTex_TexelSize.xy;float2 right_uv i.uv float2(1,0) * _lineWidth * _MainTex_TexelSize.xy;// 如果有一个点透明度为0说明是边缘float w tex2D(_MainTex,up_uv).a * tex2D(_MainTex,down_uv).a * tex2D(_MainTex,left_uv).a * tex2D(_MainTex,right_uv).a;// 和原图做插值根据边缘判断来混合线的颜色和原图颜色col.rgb lerp(_lineColor,col.rgb,w);return col;}ENDCG}} }
http://www.pierceye.com/news/315368/

相关文章:

  • 企业官方网站地址怎么填微信页面设计网站
  • 国外购物网站有哪些郑州网站搜索排名
  • seo网站优化推广费用装饰行业网站建设
  • idea的网站开发登录页面做网页的
  • 寻找大连网站建设wordpress换模板 seo
  • 二手房公司网站源码网站的维护步骤
  • 衡水企业网站建设公司wordpress 快速回复
  • 网站维护需要关闭网站么找哪些公司做网站
  • 阿里巴巴做轮播网站如何建设学校的微网站首页
  • 国内设计好的网站案例网店设计风格怎么写
  • 网站建设长沙创建网页需要多少钱
  • 南通电商网站建设网站背景怎么设置
  • 无锡网站托管aspnet通讯录网站开发
  • 卫计网站建设工作总结铜陵建设行业培训学校网站
  • 手机网站竞价网页界面设计遵循的原则
  • 徐州seo推广公司广州营销型网站优化
  • 小说网站首页模板安徽华力建设集团网站
  • 减肥网站如何做公司企业模板
  • 郑州网站建设搜q.479185700怎么在百度上推广自己的公司信息
  • 深圳住建设局官方网站大连在哪个省市
  • 吉林企业建站系统费用wordpress幻灯片加载很慢
  • com域名和网站小型企业网站排名前十
  • 网站内容 优化泉州网站开发公司
  • 假发外贸网站模板做图库网站需要多少钱
  • 网站建设公司 知道万维科技wordpress支持移动
  • 经典网站建设邢台网站建设策划
  • 系统数据库与建设网站网站提交入口大全
  • 网站做数据分析的意义西安网站建设kxccc
  • 免费建个人网站alexa排名搜索
  • 做的网站第二年续费多钱店铺装修模板