如何在表面着色器中使用顶点函数
2015-06-29 16:51
447 查看
一:告诉Unity我们将在着色器中包含一个顶点函数
说明:在编译着色器时,unity会自动寻找一个名为vert的顶点函数,如果没有找到,会抛出一个编译错误并提示你是否需要添加一个顶点函数
二:为了使surf()函数能够访问顶点函数vert()传入的值, Input结构体中加入新的属性
三:编写简单vert函数,
说明:函数中我们访问appdata_full 的内置结构体,该结构体是用于存储顶点信息的,我们通过 o.vertColor = v.color 将顶点信息传入Input结构体,从而达到提取顶点颜色信息的目的。
四:使用
CGPROGRAM #pragma surface surf Lambert vertex:vert
说明:在编译着色器时,unity会自动寻找一个名为vert的顶点函数,如果没有找到,会抛出一个编译错误并提示你是否需要添加一个顶点函数
二:为了使surf()函数能够访问顶点函数vert()传入的值, Input结构体中加入新的属性
struct Input { float2 uv_MainTex; float3 vertColor; };
三:编写简单vert函数,
void vert (inout appdata_full v, out Input o) { UNITY_INITIALIZE_OUTPUT(Input,o); o.vertColor = v.color; }
说明:函数中我们访问appdata_full 的内置结构体,该结构体是用于存储顶点信息的,我们通过 o.vertColor = v.color 将顶点信息传入Input结构体,从而达到提取顶点颜色信息的目的。
四:使用
void surf (Input IN, inout SurfaceOutput o) { o.Albedo = IN.vertColor.rgb*_MainTint.rgb; }
相关文章推荐
- Oracle 序列 每天 重建
- Delphi excel 复制粘贴到dbgrid
- 【转】Linux 套接字编程中的 5 个隐患
- python中的函数调用绑定,静态方法和类方法
- HDU 1232 畅通工程 (并查集,常规)
- 欢迎使用CSDN-markdown编辑器
- 初始化openwrt的root密码
- WCF
- [转] Eclipse 使用 Link 方式进行插件的安装
- 新版Windows 10预览版即将登陆PC平台 包含大量的手机助手软件
- GRE填空的相关注意事项
- Yii扩展组件编写方法实例分析
- cacti监控工具之数据收集方法、模板介绍及使用 推荐
- [日志处理工作之一]整合elasticsearch,kibana,flume-ng,kafka实时采集tomcat日志
- libevent源码分析之带有定时器的事件
- 退出应用程序
- 基于IHttpAsyncHandler的实时大文件传送器
- Android使用webview时出现404如何替换掉原来的错误页面
- MongoDB学习笔记--基本操作
- 黑马程序员-OC语言-对象和方法之间的关系(听课笔记)