我怎样才能达到“Antichamber”游戏中的效果?

时间:2013-04-09 19:14:18

标签: graphics 3d 3d-engine

查看名为“Antichamber”的游戏截图:

Antichamber screenshot

您可以看到一个立方体框架,通过一个面可以看到位于立方体内部的一些对象,通过其他面可以看到位于同一个立方体中的其他对象。令我困惑的是,您可以同时观看两个面,正如您在屏幕截图中看到的那样,两个“面”的对象都是可见的。此外,每个物体似乎都填满了立方体内的整个空间。

我的问题很普遍 - 我怎样才能达到同样的效果?也许有3D引擎的东西允许它?

1 个答案:

答案 0 :(得分:3)

这称为"portal rendering"。它通常用于廉价绘制某些类别的3D环境 - 但正如您所注意到的,门户网站的内容无需与任何其他门户网站的内容相关......

要实现此效果,在绘制门户网站时,引擎会设置图形光栅化器以剪切通过门户网站可见的对象的光栅化。为了有效地实现它,引擎进行遮挡剔除:它只需要绘制那些可能通过门户可见的对象。

为了确保您的门户网站能够正确绘制为内部比外部更大,您应该确保"清除"在绘制之前每个门户中的可见区域。但是,如果您的所有门户场景都得到了保证" watertight",那么您可能只能清除深度缓冲区。