全球观天下!继续入门Shader

哔哩哔哩   2023-03-13 15:07:52

本文仅为边学边记录的流水账。


(资料图片)

一个简单的Shader

上述代码显示一个白色的球。

此处的POSITON、SV_POSITION等为Unity提供的CG/HLSL语义。

此处的UNITY_MATRIX_MVP,需要亿点点数学来帮助理解。秉着先试试再说的原则,数学留到不得不去理解的时候再系统化学习,这里只需要知道它做的事情是“把顶点坐标从模型空间转换到裁剪空间中”即可。在新版本中,它总是被自动修复为UnityObjectToClipPos(v)。

下面演示数据在顶点和片元间的传递。

上述代码将显示一个彩色球

关于起名字的一些小习惯,a2v、v2f...

a表示应用(application), v表示顶点着色器(vertex shader), a2v的意思就是把数据从应用阶段传递到顶点着色器中。同理可得,v2f就是顶点到片元。

添加属性之后是这样的。

调试技巧:帧调试器(Frame Debugger)左侧树可以看成事件线,中上滑杆可以看做时间线。

http://www.huaxue.eeju.com/zixun/