美文网首页
Shader学习日常(14/12/28)

Shader学习日常(14/12/28)

作者: 放羊的 | 来源:发表于2014-12-28 16:43 被阅读0次

    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 ,  和时间有关的偏移动画

    ++++++++++++++++++++++++++++++++++++++

    今天先到这里

    相关文章

      网友评论

          本文标题:Shader学习日常(14/12/28)

          本文链接:https://www.haomeiwen.com/subject/jngatttx.html