6

我知道如何使用 JOGL 或 LWJGL 绘制基本对象以连接到 OpenGL。我想要的是可以为树生成某种几何图形的东西,类似于 SpeedTree 的著名之处。显然,我不期望与 SpeedTree 具有相同的质量。

我希望树木看起来不重复。速度不是问题,我不希望屏幕上一次需要超过 100 棵树。

Java 中有免费的树形图库吗?还是示例代码或演示?有什么其他语言可以移植或学习的吗?

4

9 回答 9

2

有成千上万种方法。一个更好的问题将以更严格的方式定义“最佳”。我们是否在谈论“最好”的绘图速度(适合数千或数百万棵树)?最好的和最好看的一样?等等

于 2008-10-06T10:15:34.370 回答
2

2D 还是 3D?
在 2D 中,一种常见的方法是使用 L 系统。
我还尝试了一种面向对象的方法,为树干、树枝、树叶定义对象,所有这些都扩展了一个抽象类并实现了一个基因型接口(以改变树的种类)。
不确定它是否有效(创建了很多对象,特别是如果我为树设置动画)但做起来很有趣。

于 2008-10-06T10:15:47.523 回答
1

以下是一些可能有用的资源:

于 2009-02-03T21:26:40.543 回答
0

如果您使用的是 eclipse/SWT,请尝试 Draw 2D。

于 2008-10-06T11:14:16.717 回答
0

如果您真的想获得漂亮、快速的树,那么可以使用商业 C++ 库SpeedTree。许多大型游戏都使用它(例如,GTA、Elder Scrolls)。

于 2008-10-06T19:44:59.120 回答
0

OpenSceneGraph 和 SpeedTree 的组合对我有用。

于 2008-10-08T12:27:48.503 回答
0

我知道有两个库可以在 java 中使用 OpenGL。

LWJGL(轻量级 Java 游戏库),imo 是更好的一个,因为它的简单性和与使用 c/c++ 的 opengl 相似。

JOGL如果你想将 swing 组件与 opengl 混合使用,这可能是更好的选择,我从未使用过它,但几年前它被认为是相当有缺陷的,我不知道它是否从那时起成熟了。

至于画树,有很多方法可以像其他海报所说的那样,你可能想要更具体。

编辑:我想我有点误解了这个问题,哦,好吧:/您可以加载树的 3d 模型并显示它。

于 2008-11-25T19:49:32.553 回答
0

http://www.codeplex.com/LTrees有一些源代码。虽然它是 C++。

于 2009-02-02T02:48:44.420 回答