一个简单的贴图shader
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单的贴图shader相关的知识,希望对你有一定的参考价值。
1 Shader "Unlit/NewUnlitShader" 2 { 3 Properties 4 { 5 _Tex ("Texture", 2D) = "white" {}//外部贴图资源的导入渠道 6 } 7 SubShader 8 { 9 Tags { "RenderType"="Opaque" } 10 LOD 100 11 12 Pass 13 { 14 CGPROGRAM 15 #pragma vertex vert 16 #pragma fragment frag 17 18 struct appdata 19 { 20 float4 vertex : POSITION;//顶点坐标 21 float2 texcoord : TEXCOORD0;//某顶点的纹理坐标,注意和_Tex_ST可不一样 22 }; 23 24 struct v2f 25 { 26 float2 uv : TEXCOORD0;//贴图坐标 27 float4 pos : SV_POSITION;//顶点在裁剪空间中的位置信息 28 }; 29 30 sampler2D _Tex;//取和Propertiea中相同的名字来获取外部值 31 float4 _Tex_ST;//加后缀_ST获取贴图的纹理信息 32 33 v2f vert (appdata v) 34 { 35 v2f o; 36 o.pos=mul(UNITY_MATRIX_MVP,v.vertex); 37 o.uv=v.texcoord*_Tex_ST.xy+_Tex_ST.zw; 38 /*如果包含了UnityCG.cginc可以这样写。 39 o.pos = UnityObjectToClipPos(v.vertex); 40 o.uv = TRANSFORM_TEX(v.uv, _MainTex);*/ 41 return o; 42 43 } 44 45 fixed4 frag (v2f i) : SV_Target 46 { 47 fixed4 col = tex2D(_Tex, i.uv); 48 return col; 49 } 50 ENDCG 51 } 52 } 53 }
以上是关于一个简单的贴图shader的主要内容,如果未能解决你的问题,请参考以下文章