Unity shader学习之Grab Pass实现玻璃效果

GrabPass可将当前屏幕的图像绘制在一张纹理中,可用来实现玻璃效果。

转载请注明出处:http://www.cnblogs.com/jietian331/p/7201324.html

shader如下:

// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'

Shader "Custom/Glass"
{Properties{_NormalMap("Normal Map", 2D) = "bump" {}_Distortion("Distortion", Range(0, 100)) = 50}SubShader{Tags{"Queue" = "Transparent""RenderType" = "Transparent"}GrabPass { "_GrabTex" }Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"sampler2D _GrabTex;float4 _GrabTex_TexelSize;sampler2D _NormalMap;float _Distortion;struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float4 pos : SV_POSITION;float2 uv : TEXCOORD0;float4 scrPos : TEXCOORD1;};v2f vert(appdata v){v2f o;o.pos = UnityObjectToClipPos(v.vertex);o.uv = v.uv;o.scrPos = ComputeGrabScreenPos(o.pos);return o;}fixed4 frag(v2f i) : SV_TARGET{float3 bump = UnpackNormal(tex2D(_NormalMap, i.uv));float2 offset = bump.xy * _GrabTex_TexelSize.xy * _Distortion;fixed4 albedo = tex2D(_GrabTex, (i.scrPos.xy + offset) / i.scrPos.w);return albedo;}ENDCG}}
}

效果如下:

 

转载于:https://www.cnblogs.com/jietian331/p/7201324.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ef core mysql 生成迁移失败_EFCore + MySql codeFirst 迁移 Migration出现的问题

第二次使用Migration update-database的时候出现以下错误:System.NotImplementedException: The method or operation is not implemented. at Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.Generate(RenameColumnOperation operation, IModel…

Rsync:一个很实用的文件同步命令

rsync是Linux系统下的文件同步和数据传输工具,可用于同步文件、代码发布 1.安装. yum insatll -y rsync 2.配置 打开rsync功能vim /etc/xinetd.d/rsync service rsync {disable no #把yes改成noflags IPv6socket_type streamwait n…

spring整合dubbo和springboot整合dubbo,实现服务暴露区别

spring整合dubbo的时候实现服务暴露是这么做的,在xml里配置 那么springboot整合dubbo的时候,是通过dubbo的Service 注解实现的 之前我们是通过Autowired注入一个接口 现在我们通过Reference注解引用接口

mysql 查询超过60分钟的_mysql基础级《简单查询》60分钟搞定

初学者,推荐大家使用----emp(雇员信息表)和dept(部门表),这两张表的字段及数据内容都设计的比较经典。来吧!先跟着我的操作,导入我提供的数据库脚本。导入两张表sql脚本到数据库create database testdb;use testdb;drop table if …

数据结构1-树及常用算法

(一)将数据库存储结构转化为内存树型结构算法 树节点定义public class TNode {public string id { get; set; }public string pid { get; set; }public string name { get; set; }public string flag { get; set; } }树定义public class Tree {TNode nod…

Error(6,35)java: 程序包 不存在,解决办法

spring boot项目,运行就提示找不到程序包,执行了maven clean install,maven依赖没有标红,但启动就报错 解决办法 检查maven依赖是否成功导入 根据报错信息,检查本地仓库是否有jar,有些jar包不会自动导入&a…

再学 GDI+[91]: TGPImage(11) - 转灰度图像

本例效果图:代码文件:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 class(TForm)CheckBox1: TCheckBox;procedure FormCreate(Sender: TObject);procedure FormPaint(Sender: TObject);…

GUI阅读字号和触点面积设计 (可用性设计)

今天在博客园开启第一篇,附上我多年工作的研究总结以表诚意。 此文已收入UXPA大会文集,出版于四川大学出版社。 《GUI阅读字号和触点面积设计》 --可用性设计理论研究与实践案例 作者刘玲 前华为UCD中心交付经理 277169188qq.com 摘要: 本文演绎论证了当…

UEditor 插入图片大于2M提示文件大小超出范围解决办法

wordpress使用UEditor-KityFormula 编辑器时候插入图片的时候会提示附件大小超出范围等错误,这是因为UEditor编辑器里面有限制了图片附件大小最大不能超过2m的原因 解决办法要修改 插件 php里面的 config.json 文件 “scrawlMaxSize”: 2048000, /* 上传大小限制&am…

mysql提示太多连接_mysql数据库提示连接太多怎么办

mysql数据库提示连接太多的解决方法:1、登录mysql数据库,查看当前活动的连接线程变量值;2、编辑my.cnf配置文件,添加【[mysqld] port3306】;3、重启mysql服务器。解决方法:查看max_connections进入MySQL&am…

[MySQL FAQ]系列 -- 快速还原MyISAM表索引

作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。假设有个myisam表:tbl,为了备份方便,…

Android Studio 之 NDK篇

由于工作内容的关系,对于NDK的工作涉及比较广(保密性,安全性),所以本章内容讲述一下NDK的基本使用过程。 网上也有很多这样的教程或者描述,但描述的并不完全 开发工具:Android Studio 2.1.2 ND…

避免一个用户多次登录修改版

原来的代码参见这里http://www.qiuhao.com//dispbbs.asp?boardID2&ID6228&page1 今天仔细看了这段代码,发现这段代码大有优化的余地 因为maxSessions 这个值可能会很大,我这里测试环境有3万多个,启动时要浪费半分钟左右 另外sessionId是个随机数,用1到maxSessions其实…

Maven工程 报 Diamond types are not supported at language level ‘5‘

选择file project Structure 1.Project – Project language level 选择8 2. Modules – Language level: 选择8

Ubuntu 16.04安装idea

此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页。 前提:必须正确安装JDK和Tomcat。 下载: https://www.jetbrains.com/idea/download/previous.html 这里可以下载社区版本,也可以下载以往历史版本。 安装过程: 解…

深表歉意

近期有许多读者朋友向我反应,他们在互动出版网、当当网、卓越网等大型IT书店中购买了《网管员必读》系列第二版时,在下订单后常常被告知有些图书缺货无法发货。本来就是想购买全套的,结果无奈地少了几本(如《网管员必读——网络应…