4

我有一个充满体素的世界,可以说我的世界是 320*320*96 体素。我的想法是将整个世界加载到我的视频卡的内存中,这样在将新“块”传输到 GPU 时不会损失任何性能。为显示体素世界而生成的面数应该很容易适应现代显卡的内存。

但是,我现在面临的问题是如何不显示该世界的某些部分,我想将这个世界的视图限制为(例如)128*128*96 并移动世界或相机以显示不同的部分。

为了演示我的问题,请看一个(简单)场景,该场景由白色的“可视”区域组成,我正在寻找正确的 WebGL/three.js 函数来将视图限制在白色部分。

体素世界

4

1 回答 1

3

您可以从场景中删除不想显示的体素。

scene.remove( mesh )

并在您确实想要显示它们时将它们添加到场景中。

scene.add( mesh )

我建议将您的体素世界分割成块(如 Minecraft)并将这些块单独制作成网格。将您希望在场景中可见的块网格添加到场景中,并在您想要隐藏它们时将其移除。

于 2014-04-24T11:45:23.827 回答