Unity Shader 学习笔记(四、Shader方法调用理解及语义)
第二篇笔记末位 https://blog.****.net/LM514104/article/details/104812347
对shader的方法调用做了总结(虽然没错,但是是根据程序员的习惯强行理解的, 哈哈哈哈)
看了大佬的第七篇文章,才知道什么叫专业,大佬链接(https://zhuanlan.zhihu.com/p/49165180)
嗯,这里无耻的那大佬的图片过来,希望想学习的同学跳转大佬链接去看,理解更透彻
理解图:
float4 vertex:POSITION: 就是把应用程序阶段的顶点位置信息,传到几何阶段,
UnityObjectToClipPos(vertex) : 矩阵转换 把模型顶点坐标 从本地转换到了齐次裁剪坐标,并输出转换后的坐标(SV_POSITION) 到光栅化阶段中
frag : 最后在光栅化的片元着色器中,给所有像素返回一个颜色值_Color
首先要明白shader渲染管线的调用阶段:
应用程序阶段 -- 几何阶段 -- 光栅化阶段
语义:
vertex:POSITION 语义告诉Unity把模型空间中的顶点坐标赋值给vertex。
:SV_POSITION 告诉Unity顶点着色器的输出到裁剪空间中的顶点坐标,如果自定义了结构体,就不需要写。
:SV_TARGET 告诉渲染器把用户的输出颜色存储到一个渲染缓冲区中
:TEXCOORD 语义获得模型顶点的纹理坐标,来访问纹理
:NORMAL 表明需要的是法线