Unity3D Built-in Shader 详解一
Unity3D 的 Shader
里面的 是使用一种叫 的语言编写的,它同微软的 文件或者
的 有些类似。传统意义上的 和 还是使用标准的 编程
语言编写的。(因此 文档里面的 ,都是指用 编写的代码) 然后我们来
看 下 ! 自 带 的 "# 多 个 。 这 些 被 分 为 五 个 大 类 :
$%&'&'($(&)*(%&+,-。由于数量比较多,将
分几个篇幅一一介绍。
(一) Normal Shader Family 这个家族一共 . 个 ,都是针对不透明的对象的。
/01Vertex-Lit: 最简单的一种 之一,所有照射在该物体上的光在一个 2 里面
渲 染 完 , 光 源 只 在 顶 点 计 算 。 所 以 不 会 有 任 何 基 于 像 素 渲 染 得 效 果 , 比 如 说 : $%
%&-$$3 和 $4这个 对模型的剖分(将一个物体从几何描述变为多
边形表示的过程)非常敏感,如果你将一个点光源放在很靠近一个立方体的一个顶点那里,并且对
立方体使用这个 ,光源只会在角落计算。基于像素光照的 对剖分没有要求,在表现
圆形高光上效果也很好。如果上述情况时你想要的效果,你可以考虑使用一个基于像素光照的
或者增加模型的剖分。(增加顶点数) 总的来说,这个 的渲染代价比较小。这个
包含了 5 个 (,分别对应可编成管线和固定管线。是所有硬件都支持的一个最基
本的 。如果设备支持可编成管线,那使用可编成管线的 (,否则使用固定管线的。
- 1
- 2
- 3
- 4
- 5
- 6
前往页