重复场景树(Java3d / OpenGL)

时间:2010-04-09 03:38:25

标签: java opengl 3d java-3d

我想制作一个自我循环的3D场景。也就是说,如果你继续向任何方向前进,你将会回到另一边。

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

这似乎不是一个不寻常的请求,所以我想知道是否有人知道更合法的解决方案。

谢谢!

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

2 个答案:

答案 0 :(得分:0)

在不了解您的特定场景以及您正在渲染的对象的情况下,27个立方体听起来像是“正确但不是最佳”的方式。

然而,如果你不能想到其他任何事情,你至少可以先对你的相机进行截头剔除,这意味着要找出27个立方体中哪一个当前在摄像机视野范围内。

然后你永远不必绘制超过6个这些立方体,加上你所在的当前立方体。如果你有一个狭窄的视野,那就更少了。

假设您只能在距离内看到最多1个立方体...否则您将需要渲染到纹理。

答案 1 :(得分:0)

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

您可以将用户锚定在Universe的原点。因此,不是移动它们,而是以相反的方向移动宇宙中的其他所有东西。任何穿越宇宙边界的东西都会被带回到对面。