自定义cginc文件
2024-09-25 10:56:51
首先定义一个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
然后引用如下:
Shader "Custom/MyShader"{
Properties{
_MainTex ("Main Tex", 2D) = "white" {}
}
SubShader
{
Tags {"Queue"="Transparent""RenderType"="Transparent"}
Pass
{
Tags { "LightMode"="ForwardBase" }
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "Lighting.cginc"
#include "MyCgInclude.cginc"
sampler2D _MainTex;
float4 _MainTex_ST; v2f_x vert(appdata_x v)
{
v2f_img2 o;
o.pos=UnityObjectToClipPos(v.vertex);//将顶点坐标变换到裁剪空间中
o.uv = TRANSFORM_TEX(v.texcoord,_MainTex);//变换uv坐标
return o;
} fixed4 frag(v2f_x i):SV_Target
{
fixed4 c = tex2D (_MainTex, i.uv);//对纹理坐标进行采样
return c;
}
ENDCG
}
}
FallBack "Diffuse"
}
最新文章
- BaaS API 设计规范
- div浮动在页面底部
- 近期十大优秀jQuery插件推荐
- lighttpd+fastcgi模块分析
- Problems encountered while deleting resources.
- 使用VisualSVN Server搭建SVN服务器(转载)
- PHP 运算符 详解
- 【剑指offer】面试题32:从1到n整数中1出现的次数
- 【转载自友盟消息推送iOS文档】在appDelegate中注册推送
- poj1665
- 准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure(对于二分类问题)
- Y1E001 HDI二阶板、三阶板
- Oracle误删除数据和表的恢复办法包括truncate
- Linux 在文件夹的所有文件中查找某字符
- C- unsigned :1之位域分析
- freemarker取数
- mysql 拼接字符
- Redis经验谈(转)
- hbase计数器
- js的重载