以上所详解的实现过程将阴影贴图的深度信息存储在 32 位贴图的 1 个颜色通道中。由于 8 位的可存储信息数量有限,因此务必在生成阴影贴图时进行恰当远点裁剪和近点裁剪(near and far clip)设置。因为从远裁剪面到近裁剪面的深度值的范围为 0.0 到 1.0,所以与远裁剪面和近裁剪面的距离越近,阴影贴图中的深度值就越精确。I在确定光照时增加偏移值,以便着色器在光照侧出错,而不会在阴影侧出错。这有助于避免自我投影问题。如果深度值不精确,或者模型呈现过程不够详细,就会出现此错误。在上述情况下,着色器会计算出物体对自身投影(图 5)。
图 5:由于不精确的深度值比较而导致的不正确投影。造成这种情况的原因包括深度缓冲区限制、模型的分辨率和阴影贴图分辨率。
由于阴影贴图仅使用最高 32 位中的 8 位来存储值,因此需要使用额外的位数来存储更精确的值。
图 6:包含以红、绿、蓝颜色通道编码的深度值的阴影贴图输出。红色通道存储最重要的 8 位,绿色通道存储接下来的 8 位,蓝色通道存储最不重要的 8 位。