Shader 使按钮图片致灰

Shader "UI/Default Grey"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_Color ("Tint", Color) = (1,1,1,1)
_Stencil ("Stencil Ref", Float) = 0
}

SubShader
{
Tags
{
"Queue"="Transparent"
"IgnoreProjector"="True"
"RenderType"="Transparent"
"PreviewType"="Plane"
"CanUseSpriteAtlas"="True"
}
// 源rgba*源a + 背景rgba*(1-源A值)
Blend SrcAlpha OneMinusSrcAlpha

Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"

struct appdata_t
{
float4 vertex : POSITION;
float4 color : COLOR;
float2 texcoord : TEXCOORD0;
};

struct v2f
{
float4 vertex : SV_POSITION;
fixed4 color : COLOR;
half2 texcoord : TEXCOORD0;
};

sampler2D _MainTex;
fixed4 _Color;

v2f vert(appdata_t IN)
{
v2f OUT;
OUT.vertex = mul(UNITY_MATRIX_MVP, IN.vertex);
OUT.texcoord = IN.texcoord;
#ifdef UNITY_HALF_TEXEL_OFFSET
OUT.vertex.xy -= (_ScreenParams.zw-1.0);
#endif
OUT.color = IN.color * _Color;
return OUT;
}

fixed4 frag(v2f IN) : SV_Target
{
half4 color = tex2D(_MainTex, IN.texcoord) * IN.color;
float grey = dot(color.rgb, fixed3(0.22, 0.707, 0.071));
return half4(grey,grey,grey,color.a);
}
ENDCG
}
}
}

网上看到的,具体不不清楚,忘记链接了,借来用用。

时间: 2024-11-05 16:00:46

Shader 使按钮图片致灰的相关文章

cocos2dx3.X shader使图片置灰

1 OpenGL ES着色器 opengl es的着色器有.fsh和.vsh两个文件.这两个文件在被编译和链接后就可以产生可执行程序与GPU交互.attribute是从外部传进来的,每一个顶点都会有这两个属性,所以它也叫做vertex attribute(顶点属性).而varying类型的变量是在vertex shader和fragment shader之间传递数据用的. .vsh 是 vertex shader,用与顶点计算,可以理解控制顶点的位置,在这个文件中我们通常会传入当前顶点的位置,和

【转】cocos2d-x游戏开发(十四)用shader使图片背景透明

转自:http://blog.csdn.net/dawn_moon/article/details/8631783 好吧,终于抽时间写这篇文章了. 手头上有很多人物行走图,技能特效图等,但这些图都有个纯黑色背景,怎么样将内容显示出来,让背景透明呢?前段时间搞了一下,感谢群里的童鞋们,提供了思路和方法. 这里用shader处理了像素,使黑色背景透明,直接上代码 ShaderSprite.h 1 #ifndef __TestShader__ShaderSprite__ 2 #define __Tes

如何实现qq头像致灰功能?

//使用sdwebimage加载图片,之后调用致灰方法 [_iconImageView sd_setImageWithURL:[NSURL URLWithString:orderItems.iconUrl] placeholderImage:[UIImage imageNamed:@"home_root_headImage"]      completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSU

c# winform 把彩色图片转换为灰色的图片,变灰,灰度图片,速度很快,safe,unsafe

把彩色图片转换为灰色的图片,直接用.net接口遍历每个像素点转换的效率非常低,800K的图片65万像素我的电脑要用5分钟,而用了unsafe,速度提高了几千倍,同样的图片只用了0.几秒 附一个常用的遍历像素点转换的代码 构造函数 C#代码   public Tphc() { InitializeComponent(); this.pictureBox1.ImageLocation = "F:\\黑色头发.jpg"; } 按钮单击事件 C#代码   private void button

Android开发点滴 - 如何使按钮水平垂直居中且始终占据屏幕宽度一半

问题描述: 如何使按钮水平垂直居中且始终占据屏幕宽度一半 效果如下: 竖屏: 横屏: 解决方案: 使用线性布局,指定线性布局的总权重(weightSum)为1, 指定按钮的权重为其一半即0.5 布局代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

美工如何提供按钮图片给开发者

此篇文章写给可爱的美工们,希望能提供我们开发者易用规范的素材,好两三下就能用上,来制作漂亮的 iOS 按钮. 一般按钮有三个状态, 正常(normal)的状态,按钮大小请忽略, 实现这个效果,需要提供按钮图片,字体颜色,像这样的图片,50*50. 为什么是 50*50呢,而不是100*50,宽更长一些呢?因为图片的伸缩可以用代码来控制,提供正方形的就好.另外,四个角落需要是透明的,而不是白色的. 失效无法点击(disabled)的状态, 需要提供图片, 按钮的点击时的状态.为了有个点击效果,所以

FileUpload控件实现单按钮图片自动上传并带预览显示

FileUpload控件实现单按钮图片自动上传并带预览显示 1.实现原理: FileUpload控件默认不支持服务端的ONCHANGE事件,此时用一种变通的方法借用客户端的onchange事件,调用__doPostBack方法来用LinkButton的OnClick事件模拟一个事件触发的过程,可以在LinkButton的OnClick事件中进行图片的上传,和预览加载. 2.关键代码:      页面代码: 1 <asp:FileUpload ID="fuPhoto" onchan

CSS使彩色图片就为黑白图片

<html> <head> <title>CSS使彩色图片就为黑白图片丨河北草坪-石家庄花卉租赁</title> <meta content="text/html; charset=gb2312" http-equiv="Content-Type"> <style type="TEXT/CSS">.cool { BORDER-BOTTOM-WIDTH: 1px; BORDER

使按钮失效的方法

项目中由于封装好了:使用的方法如下: $(document.getElementsByName("wf_btn_next")).linkbutton({ disabled: true }); 使用的是linkbutton()这个方法.实际上这个封装好了的linkbutton()方法是通过$('xx').attr('onclick',null)和添加一个class属性来实现的. 使按钮失效有两个方面, 1 使按钮点了没反应: 办法:也就是设置onclick属性为null,通过jquery