阴影 可以使角色与地面的关系更加明确。本文主要介绍如何通过 ShadowMap 在OpenGL中实现 阴影 。
核心原理
Shadow Map的基本思想:通过LightView
画一张DepthMap
,然后Camera View
渲场景的时候,把Pixel坐标变换到Light Space,比较Depth即可(Pixel的Depth大于Shadow Map的Depth即在阴影区)。也可以直接是ScreenSpace
对DepthMap
做Post-processing
。
阴影 生成需要三个步骤:
- 在角色正上方照出一张深度图。