我知道如何使用 JOGL 或 LWJGL 绘制基本对象以连接到 OpenGL。我想要的是可以为树生成某种几何图形的东西,类似于 SpeedTree 的著名之处。显然,我不期望与 SpeedTree 具有相同的质量。
我希望树木看起来不重复。速度不是问题,我不希望屏幕上一次需要超过 100 棵树。
Java 中有免费的树形图库吗?还是示例代码或演示?有什么其他语言可以移植或学习的吗?
我知道如何使用 JOGL 或 LWJGL 绘制基本对象以连接到 OpenGL。我想要的是可以为树生成某种几何图形的东西,类似于 SpeedTree 的著名之处。显然,我不期望与 SpeedTree 具有相同的质量。
我希望树木看起来不重复。速度不是问题,我不希望屏幕上一次需要超过 100 棵树。
Java 中有免费的树形图库吗?还是示例代码或演示?有什么其他语言可以移植或学习的吗?
有成千上万种方法。一个更好的问题将以更严格的方式定义“最佳”。我们是否在谈论“最好”的绘图速度(适合数千或数百万棵树)?最好的和最好看的一样?等等
2D 还是 3D?
在 2D 中,一种常见的方法是使用 L 系统。
我还尝试了一种面向对象的方法,为树干、树枝、树叶定义对象,所有这些都扩展了一个抽象类并实现了一个基因型接口(以改变树的种类)。
不确定它是否有效(创建了很多对象,特别是如果我为树设置动画)但做起来很有趣。
以下是一些可能有用的资源:
如果您使用的是 eclipse/SWT,请尝试 Draw 2D。
如果您真的想获得漂亮、快速的树,那么可以使用商业 C++ 库SpeedTree。许多大型游戏都使用它(例如,GTA、Elder Scrolls)。
OpenSceneGraph 和 SpeedTree 的组合对我有用。
http://www.codeplex.com/LTrees有一些源代码。虽然它是 C++。