首页 > 代码库 > 一个简单的贴图shader
一个简单的贴图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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。