Shader学习,以及工具Strumpy Shader Editor的使用。
(部分参考前辈阿赵的博客)
Strumpy Shader Editor入门教程 - 阿赵的日志 - 网易博客
+++++++++++++++++++++++++++++++++++++++++++
表面着色器的意义在于,通过数学层面的计算,使得输入(贴图,光线,设定数值)在模型 表面有更加可信的表现,抑或创造出另类的美术风格。
将一份数据的各个通道拆分开来,使得程序员有能力从数据层面介入,创造固定渲染管线所不能比拟的效果。
表面着色器的长处在于“表面”或者说,其所创造的,是一种材质。相对更加难以掌握的顶点以及片段着色器,还是有些许劣势的。
Strumpy Shader Editor这款工具,其原理就是把着色器的各个操作环节可视化,用一个个模块,来替代代码本身。
在此对Strumpy Shader Editor的功能进行一些分析和注解,以此巩固自己的Shader学习。
蓄之深者,发之远,其养也不苟,则施之无穷。万事莫不如此。
++++++++++++++++++++++++++++++++++++++++++++++
Material输出的常用通道
Albedo,漫反射的颜色值
Normal,法线坐标
Emission,自发光颜色
Specular镜面反射系数
Gloss,光泽系数
Alpha,透明度系数
Clip,切片通道
++++++++++++++++++++++
constant常数
PI 圆周率 1 over PI PI的倒数
float , 浮点数 float4 , 一个四维浮点数组
luminance , 发光度
one ,1 zero ,0
++++++++++++++++++++++
operation操作
add 加法
All ,当且仅当输入四维数组,没有任何一个部分是 0的时候,输出(1,1,1,1)用于条件运算
Any ,当输入的四维数组,有任何一个部分不是0 。那就就输出(1,1,1,1)用于条件运算
Ceil , 四维数组,每一个部分分别取整(最近)
Cross ,输入两个向量,返回一个和他们都垂直的向量,向量必须标准化
Degress ,Radians 角度与弧度
Divide ,除法
Dot , 点乘
Floor , 取整
Frac , fractional component 小数部分(貌似)
Max Min ,取大,取小
Multiply 乘法
MXM 矩阵叉乘法 MXV 矩阵叉乘向量
Pow , 抬高一个特定的数值 ,大概是类似加法
Rsprt , 貌似是开方
Sprt , 平方
Sign , 区分正负与零,分别返回 1 -1 0
Subtract ,减法
-V ,取负数
VXM ,向量叉乘矩阵
++++++++++++++++++++++++
function函数
Abs ,取整
Acos ,Arccos()
Asin ,ArcSin()
Assemble ,将四个元素组合成为一个四维数组
ATan ,ArcTan()
Clamp , 夹逼 arg3>arg1>arg2
Cos , Sin ,Tan
Distance ,距离
Fresnel ,菲涅尔 检查每一个像素和视线的关系(貌似)
Length , 长度。。。。莫名其妙
Lerp ,混合 ,用第三个数字控制前两个数字的混合
log , 对数
Luminance , 发光
Mask ,不明用途,貌似是把为零的成分找出来
Normalize , 标准化(使长度为1)
Parallax offset , 视差 偏移
Reflect ,反射 将第一个方向经过第二个向量的法向量反射
Saturate , 把数据控制在 (0,1)间
SmoothStep , 差值 类似Lerp
splat ,splatalpha 和地形相关,暂时未知 ,搅和各个通道?
Split ,拆分四维数组
step ,比大小,第一个数大为1 ,第一个数小为0
Swizzle ,类似splat
Tex2D ,读取一张贴图的信息
UnpackNormal ,解开法线
UVPan , 和时间有关的偏移动画
++++++++++++++++++++++++++++++++++++++
今天先到这里