Shader "LXC/ 01 myshader"//这里指定的shader名字,不要求和文件名一致,/前的为路径
{
//属性
Properties
{
//属性的定义 属性名("Inspector显示名",类型)=(默认值);
_Color ("Color",Color)=(1,1,1,1) //(R,G,B,A) float4
_Vector("Vector4",Vector)=(1,2,3,4) //float4
_Int("Int",Int)=3231 //float
_Float("Float",Float)=4.5 //float
_Range("Range",Range(1,11))=5 //float
_2D("Texture2D",2D)=""{} //""可以随意指定颜色也可以不指定 sampler2D
_Cube("Cube",Cube)=""{} //立方体纹理,天空盒 samplerCube
_3D("Texture3D",3D)=""{} //sampler3D
}
//SubShader可以有很多个 显卡运行效果的时候,选择一个可以运行的
SubShader
{
//可以有很多Pass块
Pass
{
//在这里写Shader代码
CGPROGRAM
//使用CG语言编写Shader代码
//属性使用的时候需要重新定义不用赋值
//float4 _Color; //使用float的地方可以用half和fixed代替,float使用32位来存储,half 16位-6W~+6W,fixed 11位 -2~+2
fixed4 _Color; //颜色一般用fixed存储
float4 _Vector;
float _Int;
float _Float;
float _Range;
sampler2D _2D;
samplerCube _Cube;
sampler3D _3D;
ENDCG
}
}
//显卡不支持SubShader的最后方案
Fallback "VertexLit" //VertexLit为系统方案
}
Shader-基本结构与属性定义
猜你喜欢
转载自blog.csdn.net/qq_42459006/article/details/83999398
今日推荐
周排行