阴影映射(Shadow Map)的研究(一)
这段时间在搭好自己的框架后,就开始马不停蹄地研究阴影映射的内容了,说起阴影映射,倒不如说shadow map更容易被专业人士所接受。shadow map是我进阶图形学的第一课,以后的图形学内容,会变得非常复杂,每写一个例子,都要牵涉到非常多的算法以及代码。但是我不得不这么做,因为只有这样才能成为计算机图形学的高手。
蒋彩阳原创文章,首发地址:http://blog.csdn.net/gamesdev/article/details/44628427。欢迎同行前来探讨。
shadow map简单地说,就是让通过计算机图形的模拟,在3D场景中产生阴影的效果。这个算法可以说很久之前就已经存在了,而随着硬件性能的提升,我们可以从帧缓存中提取阴影,然后在让其作用在我们想要产生阴影的表面上,非常简单。本例呢,就是将FBO与shadowmap结合起来,渲染一个带有阴影的场景。
要生成含有shadow map的场景,我们要进行至少两遍的渲染。要知道,阴影的形成是要有光源的。但是除了ADS(Ambient、Diffuse、Specular)渲染之外,我们只用到光源的位置以及视向(lookAt)。但是这是一个很重要的信息:我们正