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

Unity -Shader精讲(五)完善顶点函数vert和片元函数frag的编写

2018-02-03 14:01 447 查看
// 定义和使用顶点函数 (float4 v:POSITION) 系统传递过来参数给v 后面加:POSITION 的意思是把顶点坐标传给v
float4 vert(float4 v:POSITION):SV_POSITION
// 通过语义告诉系统,我这个参数是干嘛的,比如POSSITION是告诉系统我需要顶点坐标
// SV_POSITION这个语义用来解释说明返回值,意思是返回值是剪裁空间下的顶点坐标
// 语义写法是固定的 不同的语义代表不同的效果
{
// mul()是一个方法可以完成一个 模型空间坐标到剪裁空间的转换   一个矩阵和一个postition的乘法运算
// 第一个参数是一个矩阵 这里使用的是 矩阵宏(固定写法 代表的是一串数字)  第二个是顶点坐标
// 这时V里面的W就有了值 但是在坐标上没有实际意义 就是用来辅助坐标转换的
float4 pos =mul(UNITY_MATRIX_MVP,v);
return pos;

}




// 定义和使用片元函数
// 这里返回一个颜色值 所以这个方法返回 fixed4类型  现在这个参数不需要 以后可能会写参数进去
fixed4 frag():SV_Target // :SV_Target 这个语义代表模型对应到屏幕上的颜色
{
// 返回的颜色 R G B A 但是需要跟上类型 这里是fixed4类型
return fixed4(1,1,1,1);

}




总结  顶点函数的作用是 确定模型在屏幕上显示的位置      片元函数的作用是 确定这个模型在屏幕上显示的颜色
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息