没有模板缓冲区的实时软阴影

时间:2010-05-18 06:44:11

标签: iphone opengl-es

我真的好奇以下是如何完成的

http://kortham.net/temp/fallingBlocks.png

它们似乎在iphone上实现了实时柔和的阴影,它没有可用的模板缓冲区。它似乎在http://www.youtube.com/watch?v=u5OM6tPoxLU

运行起来很流畅

有人有想法吗?

2 个答案:

答案 0 :(得分:3)

模板缓冲区允许阴影渲染的硬件加速,但不一定需要显示阴影卷。由于机身和光源数量较少,软件可能会模拟模板缓冲区的行为(但与硬件加速实现相比,这将非常慢)。

此外,还有其他方法可以显示阴影。最常用的是Shadow Mapping(可以找到更深入的方法on GameDev.net),它不需要模板缓冲区。它用于PS2游戏以及Wii游戏,因为那些硬件也没有模板缓冲区。

最后,在这个特定游戏的情况下,阴影算法也可以实现为简单的光线追踪系统,因为不需要地面检测,阴影基本上是在2D简单形状上计算的(圆形和方块)。对于这种特殊情况,这可能是最好的方法。

答案 1 :(得分:0)

很可能是“阴影贴图”变体。 http://en.wikipedia.org/wiki/Shadow_mapping