笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社,《Cocos2d-x 3.x图形学渲染技术讲解》电子工业出版社等。
CSDN视频网址:http://edu.csdn.net/lecturer/144
该篇博客主要是给读者介绍关于CSM实时阴影技术实现,文中涉及到的源代码可以在DirectX Software Development Kit (SDK) in the CascadedShadowMaps11 and VarianceShadows11 samples找到,感兴趣的读者可以自行下载。
CSM的基本概念很容易理解, 相机平截头体的不同区域需要具有不同分辨率的阴影贴图,距离眼睛最近的物体比较远的物体需要更高
的分辨率。 事实上,当眼睛移动非常接近几何时,最接近眼睛的像素可能需要如此大的分辨率,甚至4096×4096的阴影贴图也不够。
CSM的基本思想是将截头锥体分割成多个截头圆锥体。 为每个子树呈现阴影贴图; 像素着色器然后从最接近匹配所需分辨率的地图采样,
如下图所示: