学习传送门:
blog 推介:
unity shader 的入门学习
凯尔八阿哥:Unity&Shader基础篇-“HelloCg”
Shader Forge
cg 方法:
https://developer.download.nvidia.cn/CgTutorial/cg_tutorial_appendix_e.html
Unity 内置结构体参考:
Unity>Editor>Data>CGInclude>UnityCG.cginc
要在代码中使用这些内置结构体一定要添加命令#include “UnityCG.cginc”
1.图片按高度局部隐藏
先上最终效果图
图片透明处理方式1(Discarding Transparent Fragments)
关键字:discard(cutoff)
缺点:片段着色器读取RGBA贴图并与用户指定的范围值大小比较alpha值。如果 alpha值比范围值小,就丢弃着色片段使之透明。注意: 这项指令在某些平台上是非常缓慢的,特别是在移动设备上。因此,混合(blending)通常更有效。
Shader "Cg texturing with alpha discard" {
Properties {
_MainTex ("RGBA Texture Image", 2D) = "white" {}
_Cutoff ("Alpha Cutoff", Float) = 0.5
}
SubShader {
Pass {
Cull Off // since the front is partially transparent,
// we shouldn't cull the back
//注意: 内容要写在cg 语法中
CGPROGRAM
//名称可定义顶点shder入口
#pragma vertex vert
//片元着色入口
#pragma fragment frag
uniform sampler2D _MainTex;
uniform float _Cutoff;
//自定义 数据结构
struct vertexInput {
//语义绑定 : COLOR
float4 vertex : POSITION;