文档章节

黑白图片切换shader

 江湖令
发布于 2017/06/18 21:40
字数 133
阅读 19
收藏 0

通过公式改变材质Color属性,实现黑白图片效果。

Shader "Unlit/NewUnlitShader"
{
	Properties
	{
		_MainTex ("Texture", 2D) = "white" {}
		_GrayImage ("ChangeGray",float) = 1
	}
	SubShader
	{
		Tags { "RenderType"="Opaque" }
		LOD 100

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

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

			struct v2f
			{
				float2 texcoord : TEXCOORD0;
				half4 color : COLOR;
				float4 vertex : SV_POSITION;
			};

			sampler2D _MainTex;
		    float _GrayImage;
			float4 _MainTex_ST;
			
			v2f vert (appdata v)
			{
				v2f o;
				o.vertex = UnityObjectToClipPos(v.vertex);
				o.color = v.color;
				o.texcoord = v.texcoord;
				return o;
			}
			
			fixed4 frag (v2f i) : COLOR
			{
				fixed4 col;  
				if (_GrayImage == 1)  
				{  
					col = tex2D(_MainTex, i.texcoord);  
					float grey = dot(col.rgb, float3(0.299, 0.587, 0.114));  
					col.rgb = float3(grey, grey, grey);  
				}  
				else  
				{  
					col = tex2D(_MainTex, i.texcoord) * i.color;  
				}  
				return col;  
			}
			ENDCG
		}
	}
}

 

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 64
码字总数 12191
作品 0
西安
从0打造一个GPUImage(4)

用容易理解的语言讲一些不太容易理解的概念. 答疑 上一章提了个问题,就是如何写fragment shader绘制 -w200 这样的图像。 现在揭晓一下答案。 ContentMode UIImageView的contentMode经常使用...

叶孤城___
2017/11/20
0
0
WPF/Silverlight深度解决方案:(六)HLSL自定义渲染特效之完美攻略(上)

Shader Effect中文名称为“渲染特效”或“滤镜”,WPF中自带有5种位图特效及2种渲染特效,而Silverlight中仅有这2种渲染特效: BlurEffect(模糊渲染)和 DropShadowEffect(投影渲染)。由于目前...

晨曦之光
2012/03/09
0
0
[OpenGL] 利用Shader实现复杂地形的渲染

已经好久没写关于OpenGL的博客了。不过昨天晚上,和我一个可爱的小学弟做了一个娱乐程序,也正好用来写一篇博客。 我们在游戏中经常能见到一座高耸的山,雪线以上是白皑皑的积雪,雪线以下是...

Mahabharata_
2017/10/07
0
0
仿唱吧UI效果

这几天想放开歌喉 唱歌 下了唱吧app,发现里面的交互效果 挺好玩的,突然就想写出来 (可能这就是本能吧) 左侧是本地效果,图二是唱吧效果 这里写代码片 这里写图片描述 这里写图片描述 这里写图...

越长越圆
02/24
0
0
技术分享连载(六十四)

原文链接:https://blog.uwa4d.com/archives/TechSharing_64.html 我们将从日常技术交流中精选若干个开发相关的问题,建议阅读时间15分钟,认真读完必有收获。如果您有任何独到的见解或者发现...

UWA4D
2017/11/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

主流的消息队列MQ比较,详解MQ的4类应用场景

目前主流的MQ 1.ZeroMQ 号称最快的消息队列系统,尤其针对大吞吐量的需求场景。 扩展性好,开发比较灵活,采用C语言实现,实际上只是一个socket库的重新封装,如果做为消息队列使用,需要开发...

游人未归
40分钟前
2
0
React 服务器渲染原理解析与实践

网盘下载地址 React 服务器渲染原理解析与实践 本套课程,讲解了React中SSR技术的整个搭建思路及流程,完整的从原理上讲清楚了SSR的概念,重点在于讲解编写SSR框架遇到的各种知识点,以及细节...

qq__2304636824
今天
2
0
Jenkins使用

clean install -Dmaven.test.skip=true

1713716445
今天
1
0
多线程

1. 多线程概念。并发和并行的概念。 多线程指的是一段时间内cpu同时执行多个线程。一个程序至少运行>=1个进程,进程就是运行中的程序,而一个进程至少运行>=1个线程,线程是操作系统能调度的...

鱼想吃肉
今天
3
0
HBase 表修复在线方式和离线方式

一、在线修复 1.1 使用检查命令 $ ./bin/hbase hbck 该命令可完整修复 HBase 元数据信息;存在有错误信息会进行输出; 也可以通过如下命令查看详细信息: $ ./bin/hbase hbck -details 1.2 ...

Ryan-瑞恩
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部