您的位置:首页 > 移动开发 > Unity3D

Unity3d 顶点和片段着色器学习笔记

2016-05-16 20:19 281 查看
原文地址: http://www.omuying.com/article/26.aspx
一、Cg顶点程序必须在结构中传递顶点数据。几种常用的顶点结构定义在文件UnityCG.cginc中。在大部分情况下仅仅使用它们就够了。结构如下:

1、appdata_base: 包含顶点位置,法线和一个纹理坐标。

2、appdata_tan:包含顶点位置,切线,法线和一个纹理坐标。

3、appdata_full:包含位置、法线、切线、顶点色和两个纹理坐标。

4、appdata_img:包含位置和一个纹理坐标。

二、如果你想访问个别的顶点数据,你必须自己声明顶点结构。结构中的成员必须是属于以下列表中的:

1、float4 vertex:顶点位置

2、float3 normal:顶点法线

3、float4 texcoord:第一UV坐标

4、float4 texcoord1:第二UV坐标

5、float4 tangent:切线向量(用在法线贴图中)

6、float4 color:每个顶点(per-vertex)颜色

三、内置矩阵

1、UNITY_MATRIX_MVP:当前模型*视*投影矩阵。(注:模型矩阵为 本地->世界)

2、UNITY_MATRIX_MV:当前模型*视图矩阵

3、UNITY_MATRIX_V:当前视图矩阵

4、UNITY_MATRIX_P:当前投影矩阵

5、UNITY_MATRIX_VP:当前视图*投影矩阵

6、UNITY_MATRIX_T_MV:转置模型*视图矩阵

7、UNITY_MATRIX_IT_MV:逆转置模型*视矩阵

8、UNITY_MATRIX_TEXTURE0 to UNITY_MATRIX_TEXTURE3:纹理变换矩阵

四、内置向量

1、UNITY_LIGHTMODEL_AMBIENT:当前环境色
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: