Monthly Archives: March 2015

实时阴影技术

转载请注明原文章链接:http://www.twinklingstar.cn/2015/1717/tech-of-shadows/ 示例代码下载地址:https://github.com/twinklingstar20/twinklingstar_cn_tech_of_shadows/ 1. 阴影介绍 在现实生活中,阴影随处可见,如图1中所示的两个例子,一个温暖窝心,一个浪漫感动。光与物的结合,形成阴影,使得场景更加的真实。如果没有阴影的存在, 这两个场景将变得十分的不自然。 图1. 现实中的阴影 想起高中时学过的一首由马致远创作的小令《天净沙•秋思》 枯藤老树昏鸦 小桥流水人家 古道西风瘦马 夕阳西下 断肠人在天涯 顿时在脑海中闪现一个画面:在深秋村野上,出现了一位漂泊天涯的游子,在残阳夕照的荒凉古道上,牵着一匹瘦马,迎着凄苦的秋风,信步满游,背后拖着长长的身影。 在图形学领域,给出一个阴影的定义: Shadow the region of space for which at least one point of the light source is occluded. (由于光源上存在点被障碍物阻挡而产生的区域,就形成了阴影) 这个定义存在两个局限:(1)只考虑到直接来自于光源的光照,不考虑由平面反射出的光照;(2)默认障碍物是不透明。本篇文章讨论的阴影就基于这两个 “不符合”实际的假设来进行的。 首先,介绍几个与阴影相关的重要概念。阴影渲染中的三个关键元素是:(1)光源,(2)遮挡物(Occluders, Blockers, Shadows

spacer