Shader入门精要笔记6

第6章

  • 单词
    • emissive 自发光
    • specular 高光反射
    • diffuse 漫反射
    • ambient 环境光
  • 函数
    • saturate(x) 将x限制在[0,1]范围
    • reflect (i,n) 求反射光方向 。i入射方向,光源指向表面。n法线方向
  • 光照模型
    • 漫反射光照模型(兰伯特):

      • 入射光的颜色 x 材质的漫反射系数 x max (0,法线方向 x 光源方向)
      • 入射光颜色 使用Lighting.cginc里的_LightColor0.rgb
      • 材质漫反射,用Properties定义,在外部配置
      • 光源向量 使用Lighting.cginc里的_WorldSpaceLightPos0
      • 法线向量和光源向量需要归一化,且需要处于同一坐标系下
    • 漫反射光照模型(半兰伯特):

      • 入射光的颜色 x 材质的漫反射系数 x ((法线方向 x 光源方向) x 0.5+0.5)
    • 高光反射模型

      • 入射光的颜色 x 材质的高光反射系数 x max(0,视角方向 x 反射光方向)的光泽度次幂
      • 光泽度,用Properties定义,在外部配置
      • 反射光用reflect来求得
      • 入射方向用_WorldSpaceLightPos0,方向是表面指向光源。使用reflect函数时需要取反
      • 视角方向可以用_WorldSpaceCameraPos来求,需要减去顶点的世界坐标
    • Blinn-Phong光照模型

      • 入射光的颜色 x 材质的高光反射系数 x max(0,法线方向 x h)的光泽度次幂
      • h = normalize(视角方向 + 光照方向)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容