Unity 2017.4固定管线着色器资源

Unity 2017.4 的固定管线着色器资源,真的是蛮适合想回顾经典渲染方式的朋友。fixedFunctionShader1.rar里头的东西比较简单直观,用起来也不难,主要是基于 ShaderLab 写的一些固定管线的着色器。嗯,虽然现在都在玩可编程管线、Shader Graph 啥的,但这个老方法还是挺值得一试的,尤其是搞教学或者做点轻量项目时。像颜色、纹理、光照这些基本效果,全靠设置参数搞定,写起来也清爽,响应也快。

固定管线的渲染器,讲白了就是把 GPU 当傻瓜工具用,开发者只管塞配置进去。比如你只要设置个主颜色、贴个图、选个光照模型,就能让场景亮起来,完全不碰复杂的 HLSL 或者自定义光照流程,蛮适合 Shader 入门的。这个资源包里率会有类似DiffuseSpecular这类基础的光照,像 Lambert 模型之类的应该也跑不了,看看物体怎么根据光线变亮,还是蛮直观的。

说到 ShaderLab,它是 Unity 的老牌着色器语言,写法比较像配置文件。比如:

Shader "Custom/FixedFunc" {
  Properties {
    _MainTex ("Texture", 2D) = "white" {}
  }
  SubShader {
    Pass {
      Material {
        Diffuse (1,1,1,1)
      }
      Lighting On
      SetTexture [_MainTex] {
        Combine texture * primary
      }
    }
  }
}

是不是有年代感?但跑起来真不慢,用在低端设备上效果还不错。要用也简单,把fixedFunctionShader1拖进 Unity,套到个 Cube 上就能看到效果。

啦,这种方式现在已经比较“老古董”了,做不了法线贴图、PBR 这种炫酷的高级特效。但如果你想快速理解 3D 渲染流程,或者重构点老项目,那它就挺合适的。

如果你还不熟 ShaderLab,推荐看看ShaderLab 使用指南。还可以翻下Unity 内置着色器源码,对照学习也方便。

如果你想体验下轻量、简单、上手快的 Shader 开发方式,那就下载fixedFunctionShader1.rar自己试试,顺便回忆下早期图形开发的味道吧。

rar 文件大小:16.55KB