自定義cginc文件


首先定義一個cginc文件如下所示:

#ifndef MY_CG_INCLUDE  
#define MY_CG_INCLUDE  
struct appdata_x {
    float4 vertex : POSITION;
    float4 texcoord : TEXCOORD0;
};

struct v2f_x{
    float4 pos : SV_POSITION;
    float2 uv  : TEXCOORD0;
};
#endif  

然后引用如下:

 1 Shader "Custom/MyShader"{
 2 Properties{
 3     _MainTex ("Main Tex", 2D) = "white" {}
 4 }
 5 SubShader
 6 {
 7     Tags {"Queue"="Transparent""RenderType"="Transparent"}
 8     Pass
 9     {
10     Tags { "LightMode"="ForwardBase" }
11     CGPROGRAM
12     #pragma vertex vert
13     #pragma fragment frag
14     #include "Lighting.cginc"
15     #include "MyCgInclude.cginc"
16     sampler2D _MainTex;
17     float4 _MainTex_ST;
18 
19     v2f_x vert(appdata_x v)
20     {
21         v2f_img2 o;
22         o.pos=UnityObjectToClipPos(v.vertex);//將頂點坐標變換到裁剪空間中
23         o.uv = TRANSFORM_TEX(v.texcoord,_MainTex);//變換uv坐標
24         return o;
25     }
26 
27     fixed4 frag(v2f_x i):SV_Target
28     {
29         fixed4 c = tex2D (_MainTex, i.uv);//對紋理坐標進行采樣
30         return c;
31     }
32     ENDCG
33     }
34     }
35 FallBack "Diffuse"
36 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM