文档章节

黑白图片切换shader

 江湖令
发布于 2017/06/18 21:40
字数 133
阅读 18
收藏 0
点赞 0
评论 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
博文 60
码字总数 11426
作品 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
规【Unity3d】Shader实现UGUI Image的不规则Fade

UGUI的Image可以通过控制图片颜色的alpha来做渐隐渐显动画,也可以通过修改fillamount的值来控制图片的显示和消失。fillamount虽然可以实现不算规则的出现消失动画,但是不够平滑。我们可以通...

dark00800
2017/12/13
0
0
Metal入门教程(二)三维变换

前言 Metal入门教程(一)图片绘制 上一篇的教程介绍了如何绘制一张图片,这次的目标是把图片显示到3D物体上,并进行三维变换。 Metal系列教程的代码地址; OpenGL ES系列教程在这里; 你的s...

落影loyinglin
07/01
0
0
50行Python代码实现图片转字符画

本篇博客改编自实验楼 通过本篇博客,你可以将你喜欢的任意图片转换成对应的字符画 最终效果 teaGod.jpg 原理介绍 字符画是一系列字符组合成的文本,看起来就像一幅画一样,我们可以把字符看...

teaGod
2017/10/28
0
0
Cocos2dx-OpenGL ES2.0教程:纹理贴图(6)

在上一篇文章中,我们介绍了如何绘制一个立方体,里面涉及的知识点有VBO(Vertex Buffer Object)、IBO(Index Buffer Object)和MVP(Modile-View-Projection)变换。 本文将在教程4的基础之上,添...

乐逍遥jun
2016/02/22
26
0
Android BitmapShader 用法详解

一、Shader简介 Shader是一种光影效果,在一般的android开发中不常用,但有时却是非常重要的一种技术手段 Android中提供了Shader类专门用来渲染图像以及一些几何图形,Shader下面包括几个直接...

IamOkay
2014/12/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

大数据教程(2.13):keepalived+nginx(多主多活)高可用集群搭建教程【自动化脚本】

上一章节博主为大家介绍了目前大型互联网项目的keepalived+nginx(主备)高可用系统架构体系,相信大家应该看了博主的文章对keepalived/nginx技术已经有一定的了解,在本节博主将为大家分享k...

em_aaron
5分钟前
0
0
Git 2.18版本发布:支持Git协议v2,提升性能

在最新的官方 Git 客户端正式版2.18中添加了对 Git wire 协议 v2 的支持,并引入了一些性能与 UI 改进的新特性。在 Git 的核心团队成员 Brandon Williams 公开宣布这一消息前几周,Git 协议 ...

六库科技
10分钟前
0
0
Java8新特性之接口

在JDK8以前,我们定义接口类中,方法都是抽象的,并且不能存在静态方法。所有的方法命名规则基本上都是 public [返回类型] [方法名](参数params) throws [异常类型] {}。 JDK8为接口的定义带...

developlee的潇洒人生
48分钟前
0
0
aop + annotation 实现统一日志记录

aop + annotation 实现统一日志记录 在开发中,我们可能需要记录异常日志。由于异常比较分散,每个 service 方法都可能发生异常,如果我们都去做处理,会出现很多重复编码,也不好维护。这种...

长安一梦
59分钟前
2
0
将博客搬至CSDN

AHUSKY
今天
1
0
Python web框架Django学习(1)

1.Django简介 (1)Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django是一个开放源代码的Web应用框架,由Python写成。 (2...

十年磨一剑3344
今天
0
0
Databook-数据之书

Databook-数据之书 用于数据分析的Jupyter Notebooks。 不需购买服务器,快速开始自己的数据分析过程。 源码:https://github.com/openthings/databook 作者:openthings,https://github.co...

openthings
今天
7
0
Python PIPEs

https://www.python-course.eu/pipes.php https://www.tutorialspoint.com/python/os_pipe.htm

zungyiu
今天
1
0
gRPC学习笔记

gRPC编程流程 1. proto文件定义 proto文件用于定义需要通过gRPC生成的接口,可以理解为接口定义文档 2. 通过构建工具生成服务基类代码-Maven或Gradle 3. 服务端开发 服务端实现类须实现通过构...

OSC_fly
今天
0
0
Docker Mac (三) Dockerfile 及命令

Dockerfile 最近学习docker的时候,遇到一件怪事,关于docker镜像可能会被破坏,还不知道它会有此措施 所以需要了解构建Dockerfile的正确方法 Dockerfile是由一系列命令和参数构成的脚本,这些命...

___大侠
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部