Shader

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

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

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

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

unity shader基础之——基础纹理:uv坐标、纹理采样、纹理属性介绍

纹理最初的目的就是使用一张图片来控制模型的外观。使用纹理映射技术可以把一张图黏在模型表面,逐纹素(名字和像素进行区分)地控制模型的颜色。

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

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

unity shader基础之——unity中实现环境光、自发光

上篇主要讲的是unity中的光照模型及其原理,还有几种光照类型(自发光、环境光、漫反射、高光反射),后面几篇文章就开始在unity中实现这几种光照类型,本篇在unity实现自发光、环境光。

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

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

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

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