2010-04-09 49 views
1

我想制作一个环绕自身的3d场景。也就是说,如果你继续朝任何方向前进,你会回到另一侧。重复的场景树(Java3d/OpenGL)

我目前的实施非常糟糕,承认它是尴尬的。我重绘每个变化二十七次,制作一个3x3x3的场景立方体。当用户到达中间立方体的末端时,我将它们跳到另一侧。保持一致性(更不用说性能)是一场噩梦。全面灾难。

这似乎并不像这将是一个不寻常的要求,所以我不知道是否有人更合法的解决方案的认识。

谢谢!

编辑/注意:Java3d中没有渲染到纹理功能可用。

回答

0

没有你的特定场景和什么样的要渲染对象的任何知识,在27个立方体听起来像这样做的“正确的,但不是最优”的方式。

但是,如果你不能想别的,你至少可以执行域剔除你的相机上首次,这意味着找出其中的27个方块是目前来看摄像机领域内。

那么你永远不会有绘制这些立方体超过6个,加上当前立方体你在,甚至更少,如果你有窄视场。

这是假设,你只能看到一个最大的1个立方到的距离......否则,你将不得不做纹理渲染。

0

我可以想到另一种选择,但它不是很漂亮。

你可以让用户停留在你的宇宙的起源。因此,不要移动它们,而是沿相反的方向移动宇宙中的其他所有元素。任何跨越宇宙边界的东西都会被带回到另一边。