自定义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
然后引用如下:
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"
}
自定义cginc文件的更多相关文章
- Bower 自定义组件文件夹名称
默认情况下, bower 会自动把文件安装在文件夹 bower_components 下面,如果希望自定义这个文件夹的名称为 components ,可以创建一个名称为 ".bowerrc& ...
- VS 自定义新建文件模板方法
自定义新建文件模板方法 VS 2010 及VS2008 自定义模板的方法如下: 结合VS工具,其下的插件也层出不穷.今天重点给大家介绍如何使用VS2010自定义新建文件模版,新建文件时,添加个 ...
- CI框架中自定义view文件夹位置
要想自定义view文件夹的位置,首先要了解CI框架时如何加载view文件夹的. CI中默认调用view的方法是: $this->load->view(); //这一行代码的原理是什么呢?请 ...
- PHPCMS V9二次开发便捷自定义后台入口文件夹
phpcms v9二次开发便捷自定义后台入口文件夹 最新发布的phpcms v9由于采用了mvc的设计模式,所以它的后台访问地址是固定的,虽然可以通过修改路由配置文件来实现修改,但每次都修改路由配置文 ...
- .NET MVC4 实训记录之五(访问自定义资源文件)
.Net平台下工作好几年了,资源文件么,大多数使用的是.resx文件.它是个好东西,很容易上手,工作效率高,性能稳定.使用.resx文件,会在编译期动态生成已文件名命名的静态类,因此它的访问速度当然是 ...
- 流媒体Red5服务自定义媒体文件路径
4. 创建类实现自定义媒体访问路径 使用bean对自己的项目进行配置,更换默认的视频播放目录和视频录制目录.在0.6版的时候, 我们可以直接在red5-web.properties中写入playbac ...
- MapReduce实现与自定义词典文件基于hanLP的中文分词详解
前言: 文本分类任务的第1步,就是对语料进行分词.在单机模式下,可以选择python jieba分词,使用起来较方便.但是如果希望在Hadoop集群上通过mapreduce程序来进行分词,则hanLP ...
- Inno Setup自定义卸载文件名称的脚本
Inno Setup 支持在同一个目录中安装多个应用程序,所以根据安装的先后次序自动将卸载程序文件命名为 unins000.exe,unins001.exe,unins002.exe 等等.这是 IN ...
- unity3d MonoDevelop引用外部自定义dll文件报错:are you missing an assembly reference?
在unity3d 编辑器 MonoDevelop 中引用外部自定义dll文件报错:are you missing an assembly reference? 因为unity还停留在.NET Fram ...
随机推荐
- linux tail指令
http://www.cnblogs.com/peida/archive/2012/11/07/2758084.html tail -f file, check the log file tail ...
- hash算法散列算法
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是 ...
- xcode 6 exporting ipa 提示 Your account already has a valid iOS distribution certificate
在Product - Archive 包过程中,选择Save for Ad hoc Deployment模式[给内部人员测试],export包时,弹出了如下提示 自己遇到时候问题:首先adhoc需要本 ...
- DOTween教程
参考自DOTween官方文档: DOTween起始上手起来很快,当然前提也是用心看一下哈. > 可以在Unity AssetStore下载得到. 使用方法: 准备: 在导入DOTween后,你需 ...
- 【XStream】xml和java实体的相互转化
1.pom.xml <!-- xstream xml和Java对象转化 --> <dependency> <groupId>xstream</groupId& ...
- 安卓查看包名,activity方法
https://www.cnblogs.com/wangcp-2014/p/6144530.html 一.有源码情况 直接打开AndroidManifest.xml文件,找到包含android.int ...
- malloc,free和new,delete之间的区别
1.malloc free 是c语言里面的,不过在c++中也能使用,这个只是申请的一块内存,一般不能申请对象的内存空间:2.new delete,是c++的,申请的也是一块内存,只是这个可以申请对象. ...
- [ElasticSearch]Java API 之 词条查询(Term Level Query)
1. 词条查询(Term Query) 词条查询是ElasticSearch的一个简单查询.它仅匹配在给定字段中含有该词条的文档,而且是确切的.未经分析的词条.term 查询 会查找我们设定的准确值 ...
- HTML5 Canvas 龟羊赛跑
从一张图上截取不同图块,动态显示在canvas上,形成赛跑的效果.完整代码图片下载请点击 https://files.cnblogs.com/files/xiandedanteng/turtleShe ...
- Android学习(二十三)SubMenu 子菜单
一.SubMenu子菜单 和功能菜单相似,但是可以添加子菜单. 二.实现步骤: 1.通过onCreateOptionsMenu方法创建子菜单,可以通过代码动态创建,也可以通过xml进行创建. 2.通过 ...