Unity Shader 学习笔记(四、Shader方法调用理解及语义)

第二篇笔记末位   https://blog.****.net/LM514104/article/details/104812347

对shader的方法调用做了总结(虽然没错,但是是根据程序员的习惯强行理解的, 哈哈哈哈)

看了大佬的第七篇文章,才知道什么叫专业,大佬链接(https://zhuanlan.zhihu.com/p/49165180

嗯,这里无耻的那大佬的图片过来,希望想学习的同学跳转大佬链接去看,理解更透彻

Unity Shader 学习笔记(四、Shader方法调用理解及语义)

理解图:

            float4 vertex:POSITION: 就是把应用程序阶段的顶点位置信息,传到几何阶段,

             UnityObjectToClipPos(vertex) :  矩阵转换 把模型顶点坐标 从本地转换到了齐次裁剪坐标,并输出转换后的坐标(SV_POSITION) 到光栅化阶段中

              frag :   最后在光栅化的片元着色器中,给所有像素返回一个颜色值_Color

首先要明白shader渲染管线的调用阶段:

                应用程序阶段 --   几何阶段  -- 光栅化阶段

Unity Shader 学习笔记(四、Shader方法调用理解及语义)

语义:

 vertex:POSITION     语义告诉Unity把模型空间中的顶点坐标赋值给vertex。

:SV_POSITION      告诉Unity顶点着色器的输出到裁剪空间中的顶点坐标,如果自定义了结构体,就不需要写。

:SV_TARGET         告诉渲染器把用户的输出颜色存储到一个渲染缓冲区中

:TEXCOORD          语义获得模型顶点的纹理坐标,来访问纹理

 :NORMAL               表明需要的是法线