• Unity Shader


    1.余弦值和角度成(0-180度) 负相关

      点积值和角度成(0-180度) 负相关

    2.三种着色器区别

    (1)固定管线着色器:比较老的一种着色器,针对高级Shader在老显卡上兼容性不是很友好的时候,使用固定管线

    (2)顶点片段着色器:相对来说比较难的着色器,可以实现复杂的视觉效果

    (3)表面着色器:unity推荐使用的着色器,底层是顶点片段着色器,unity在基础上进行封装,使用起来比较简单,并且官方处理一些光照效果.

    3.着色器书写格式

       Shader "着色器名称"   //给当前着色器命名

    {

    Properties

    {

    //颜色 贴图  颜色区域

    }//属性定义

    SubShader

    {

    }//子着色器1

    SubShader

    {//子着色器2}

    ...

    FallBack"备用着色器名称"

    }

    4.子着色器和FallBack的关系

    程序在执行到第一个子着色器的时候,如果第一个子着色器兼容当前显卡,那么执行第一个子着色器内部代码

    后面的子着色器不再执行

    如果第一个子着色器不兼容,检查第二个,以此类推...直到有一个子着色器可以使用

    如果都不兼容,执行FallBack

    5.固定管线属性定义

    Properties

    {

    名称("显示名称",Vector)=(1,1,1,1)//四维向量值

    名称("显示名称",Float)=0.1//浮点属性

    名称("显示名称",Range(0.02,0.15))=0.07//范围

    名称("显示名称",Color)=(1,1,1,1)//颜色

    名称("显示名称",2D)=""{}//2D纹理

    名称("显示名称",Rect)=""{}//矩形纹理

    }

    6.表面着色器属性

    float:float2  float3   float4

    half:浮点型

    int:整形

    fixed:定点型

    bool

    Sampler2D:纹理类型

    string:

    7.模型上颜色的叠加用的是乘法,环境光的叠加用加法

    8.边缘高光(描边)

    视角和物体的视角向量,观察位置点的法线向量

    视角向量和法线向量的夹角  越接近0   越接近中心   越接近90度   越靠近边缘

    -->余弦值

    视角向量和法线向量的余弦值越接近1,夹角越接近0     余弦值越接近0   夹角越接近90

       余弦值和夹角成负相关    余弦值越小的话  越接近边缘

    -->点积

    视角向量和法线向量的点积    点积值接近1的话   越接近1,夹角越接近0   点积值越接近0 夹角越接近90

       余弦值和夹角成负相关    点积值越小的话  越接近边缘

    9.高光Pong光照模型

    原理:

       计算光的反射向量和  视角向量的夹角,光照强度和点积值  是  正相关

          夹角越小(余弦值越大,点积值越大,越接近1),当前像素点的光越强

          夹角越大(余弦值越小,点积值越小,越接近0),当前像素点的光越弱

  • 相关阅读:
    tensorflow之tf.meshgrid()
    Python中数据的保存和读取
    透视投影推导
    tensorflow之tf.slice()
    tensorflow的tf.train.Saver()模型保存与恢复
    偶数分割求平均值
    母牛的故事
    统计一行的不重复的单词字符个数
    N个顶点构成多边形的面积
    贪心法基本入门
  • 原文地址:https://www.cnblogs.com/qipei/p/10276989.html
Copyright © 2020-2023  润新知