吭吭唧唧写shader--实现一个模型在屏幕指定区域的渲染
功能:实现一个模型在指定屏幕坐标中的渲染,不在的裁剪掉
效果:
GroudX和GroudY都为0时:
调整数值后:
原理,得到模型在屏幕中的坐标传入片面着色器时,判断下顶点坐标是否在指定区域内,不在的顶点直接裁剪掉
源码:
Shader "Unlit/NewUnlitShader"
{Properties{_MainTex ("Texture", 2D) = "white" {}_GroudX("GroudX",Range(0,0.5))=0 //X方向距离左右边框的百分比 在这之内的都会裁剪掉_GroudY("GroudY",Range(0,0.5))=0 //Y方向距离左右边框的百分比}SubShader{Tags { "RenderType"="Opaque" }LOD 100Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag// make fog work#pragma multi_compile_fog#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;UNITY_FOG_COORDS(1)float4 vertex : SV_POSITION;float4 screenPos : TEXCOORD1;};sampler2D _MainTex;float4 _MainTex_ST;float _GroudX;float _GroudY;v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = TRANSFORM_TEX(v.uv, _MainTex);UNITY_TRANSFER_FOG(o,o.vertex);o.screenPos=ComputeScreenPos (o.vertex);//得到屏幕坐标百分比return o;}fixed4 frag (v2f i) : SV_Target{fixed4 col = tex2D(_MainTex, i.uv);UNITY_APPLY_FOG(i.fogCoord, col);float2 screenPos =i.screenPos.xy/i.screenPos.w;if(screenPos.x>_GroudX&&screenPos.x<(1-_GroudX)&&screenPos.y>_GroudY&&screenPos.y<(1-_GroudY)){}else{discard;}return col;}ENDCG}}
}
吭吭唧唧写shader--实现一个模型在屏幕指定区域的渲染相关推荐
- unity 2020 怎么写shader使其接受光照?_如何在Unity中造一个PBR Shader轮子
之前有业界大佬建议我去了解下Unity的PBR.说来惭愧,我查找了下资料才发现自己在这方面的知识居然是一片空白.经过几周的学习与尝试我对这一块算是有了初步的了解,于是写了这篇文章,一方面对自己学到的东 ...
- unity 2020 怎么写shader使其接受光照?_用Unity实现半条命Alyx中的液体物理效果
干了两个月客户端的活终于能闲下来几天,有点空写个玩具了. 前段时间被半条命Alyx里的酒瓶刷屏了,这酒瓶里液体的的物理效果仅仅看录屏都能感受到十分棒,同时据说瓶子中液体的逻辑全部在shader的一个单 ...
- 自己写Shader—【shader的几种制作思路】
制作二维效果时: 可以对UI组件(Image)上挂载新的shader材质来实现效果.注意:需要写shader时对UI做一些特殊支持[否则一些UI的特性会覆盖掉,例如mask遮挡无效等.] 可以提取un ...
- 太赞了!NumPy 手写所有主流 ML 模型,由普林斯顿博士后 David Bourgin打造的史上最强机器学习基石项目!...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 用 NumPy 手写所有主流 ML 模型,普林斯顿博士后 David Bourgi ...
- NumPy 手写所有主流 ML 模型,由普林斯顿博士后 David Bourgin打造的史上最强机器学习基石项目!...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 用 NumPy 手写所有主流 ML 模型,普林斯顿博士后 David Bourgi ...
- thonny python ide_学习用 Thonny 写代码:一个面向初学者的Python IDE
原标题:学习用 Thonny 写代码:一个面向初学者的Python IDE 编译自: https://fedoramagazine.org/learn-code-thonny-python-ide-b ...
- wow修改人物模型_抖音爆款心法:一个模型+五组案例
做抖音最悲伤的,莫过于用户刷到你的时候,瞟一眼就继续往下滑了.再好笑的段子,再精良的制作,用户直接往下滑,一点机会都不给你.虽然短视频只有15秒,但真正决定生死的是开头那 5 秒.3 秒,甚至 1 秒 ...
- 【圈外同学】Day01 一个模型,帮你找到真正热爱的
本节学习收获 掌握冰山模型的用法,能够用它来分析自己跟工作的匹配度,从而做出正确的职业选择,并能精准找到自己喜欢并有成就感的工作. "我感觉目前的工作状态不是我想要的,做得也还行,但没有太多 ...
- 深度学习day04-MNIST手写数字识别与模型使用
本文大概分为以下几个部分:手写数字识别原理(不强相关).具体代码实现(算上import和空行一共50行代码不到).训练出来的模型怎么使用. 目录 一.手写数字识别原理 二.具体代码实现 三.训练出来的 ...
最新文章
- 一文详解计算机视觉的广泛应用:网络压缩、视觉问答、可视化、风格迁移等
- 【图示,简单明了】HttpServlet中getAttribute和getParameter的区别——【javaweb系列学习笔记】
- oracle+查表物理块数,如何统计一段时间内 发生在某个表上的 物理读写的块数
- 反射xss 测试地址_使用反射进行测试
- python大纲图_Python课程大纲
- python的固定有没有固定字符_python每次处理固定个数的字符的方法总结
- 百练 05 切割回文
- Xcode 9中去除Block警告
- Response实现文件下载
- 在ruby使用终端启用外部程序
- 【TSP】基于matlab混合粒子群算法求解旅行商问题【含Matlab源码 397期】
- pdf分页分片预览,pdf截取,pdf转图片
- linux离线安装系统工具arping
- linux 命令行下的复制和黏贴
- SEBank银行项目第一个星期的进度安排
- DataFrame中实现int、float存储形式列之间的除法运算
- 怎么把录音变成文字?
- 联通GPRS上网设置
- EditPlus 5.0.651 中文版
- iOS KeyChain使用
热门文章
- servlet4.0.1与jsp2.3.3依赖包的导入
- webpack设置打包入口后运行时报错Invalid configuration object. Webpack has been initialized using a configuration
- U盘启动盘的制作方法
- Office Communicator 2007 with Polycom
- Python爬取表情包
- android媒体播放器课程设计,基于Android的多媒体播放器课程设计报告 ()
- android音乐播放器课程设计报告,基于android平台的音乐播放器的课程设计报告.docx...
- 【翻译】CEDEC2013 BANDAI NAMCO 了解游戏格斗动画中的身体运动结构和原理
- Xmind 2021--做思维导图的软件有哪些,免费又好用的那种
- UI自动化测试模型有哪些?我来告诉你