11 着色器节点
11.1着色器
着色器Shader,负责给物体表面着色。
综合以下参数:
- -基础色
- -金属度、粗超度、透明度
- -法向
- -入射光颜色、强度、角度。。
在节点编辑器中,支持算法的可视化呈现。
其中,一个节点,即为一个函数/功能。
11.2 着色点
着色点Shading Point,表面上的一个点
类似于像素点。
在着色时,要为面上的每个点着色。
着色点,是接下来要研究的目标。
- -该点的世界坐标
- -该点的局部坐标
- -该点的生成坐标
- -该点的UV坐标
- -该点的法向
- -该点的其他属性。。
11.3 着色点坐标
着色点的坐标,有很多种算法。
- -世界坐标
- -局部坐标
- -UV坐标
- -生成坐标
- -屏幕坐标。。
UV坐标
通过插值算法,可以求得表面任意一点的UV坐标
比如,一个面,有4个顶点。4个顶点的UV已知。
11.4 自定义着色流程
着色流程:
- 着色点
- 着色点UV坐标
- 取得UV中 的x值,此值介于【0,1】
- 将X值转成一个颜色
- 颜色作为基础色,完成着色。
每一个着色点,都执行一遍这套流程。最终完成整个面的着色。
在着色时,每个点的颜色根据UV坐标计算得到。