Shader

unity shader基础之——渐变纹理、遮罩纹理

一开始我们在渲染中使用纹理是为了定义一个物体的颜色,但后来发现纹理可以用于存储任何表面属性。一种常见用法就是使用渐变纹理来控制漫反射光照的结果。在计算漫反射光照时,我们都是使用表面法线和光照方向的点积结果与材质的反射率相乘得到表面的漫反射光照。有时我们需要更加灵活的控制光照结果。

unity shader基础之——基础纹理:凹凸映射、法线纹理、高度纹理

纹理的另一种常见的应用就是凹凸映射。凹凸映射的目的是使用一张纹理来修改模型表面的法线,以便为模型提供更多的细节。这种方法不会真的改变模型的顶点位置,只是让模型看起来好像是“凹凸不平”的,但可以从模型的轮廓看出“破绽”。

Unity shader之——基于光照贴图(lightmap)的烘焙详细介绍

光照贴图(Lightmap)是一种效果明显的模拟光照的方法,这种光照贴图需要提前渲染,因此可以应用在静态效果图中,属于全局照明技术。但是这种方法一般只适用于静态物体。当然unity做了很多工作,可以让我们混合使用静态光照贴图和动态实时光源,无缝地照亮场景中静态或动态的物体。

unity shader基础之——unity光源、光照模型、光照类型

当我们描述一个物体的是红色的时候,实际上是因为这个物体会反射更多的红光波长,而吸收了其他波长。如果一个物体看起来是黑色的,实际上因为吸收了绝大部分的波长,这种物理现象就是本文要讨论的。

unity shader基础之——渲染流水线和GPU流水线

学习shader之前有必要了解什么是渲染流水线的,渲染流水线的最终目的在于生成或者说是渲染一张二维纹理,即我们在电脑屏幕上看到的所有效果,它的输入是一个虚拟摄像机、一些光源、一些shader以及纹理等。