Minecraft的光照算法是简单的单光源光照,即一个单元(block)只能被一个光源影响,所以也就没有光源的叠加。由于太阳光会随着日夜变化而改变,所以太阳光(sun)和其他光源是独立开来的,即一个block会有一个sky光照量和一个point光照量(其他光源)。光照分为16个等级,即0-15,15为最亮,线性衰减,Minecraft按照0.8递减(衰减方式可自定义),如下:
15 -> 100%
14 -> 80%
13 -> 64%
…
0 -> 3.5%
计算中,每一个block存储一个skylight和pointlight,各占4bits。