通用3D演示软件的建议框架

时间:2010-09-20 18:26:56

标签: java opengl 3d jogl demos

我的公司已经决定我们的技术演示需要一个“通用”演示基础架构,因为我可以使用JOGL或OpenGL编写它并创建我自己的框架,我不想重新发明轮子。但是那里有很多3D gfx引擎和很多OpenGL包装器!

基本上,我们希望使用3D图形渲染一些地形并在其上放置简单模型。 他们的要求是看起来很棒并且是跨平台的。

基本上,我可以自由决定其后的范围和范例,但我在想: - 能够加载3D模型并以全屏或窗口模式渲染它们。 - 能够控制摄像机在结果场景中“飞行”。 - 能够在所有内容之上显示/隐藏广告牌消息,即2D文本和固定在屏幕上并始终面向相机的图像。 - 能够改变有关场景部分的简单事物,例如使对象出现/消失,更改高亮颜色(如红色绘画)等。 - 我可以选择编写或使用现有的脚本语言来注入事件处理和预编程的动画。

示例用例: - 我们公司的某个人准备了一些建筑物的3D地形模型,基本上生成一个描述场景及其对象的类似XML的文件。 - 然后他继续使用我的程序飞越地形并记录一些“感兴趣的”相机位置。 - 然后,他将其中一些位置绑定到键盘键和/或现有GUI按钮。 - 他添加了一些浮动文本。 - 他使用我的程序演示了一个演示,加载了他的3D模型文件和脚本文件,并且可以开始与观众从他选择的一个相机姿势“飞行”到下一个,浮动文本在他到达时淡入淡出并离开相机位置......当他点击按钮时,地形上的一些建筑物以红色突出显示......等等。

  • 我有一些OpenGL和JOGL,以及XNA Game Studio的经验。
  • 我宁愿使用Java,因此它可以尽可能地与平台无关。

我该怎么办?

3 个答案:

答案 0 :(得分:1)

我建议你看一下OpenSceneGraph或Ogre。两者都是跨平台(C ++),功能丰富的图形引擎。此外,它们是商业上友好的许可证,并且是非常成熟和积极维护的引擎。

我知道开箱即用,OpenSceneGraph支持使用一行或两行代码加载多种模型格式,并且有几个OSG库在管理和渲染地形方面做得很好。

否则,您将花费95%的时间编写一个利基引擎而不是开发可视化功能。

答案 1 :(得分:0)

这不是Java,但是你描述的内容听起来非常接近开源Virtual Terrain Project。你可能会更好地使用它来增加你开发的额外设施,而不是从更基本的场景图层开始。

答案 2 :(得分:0)

我建议你使用Ardor3D或JMonkeyEngine 3. Ardor3D对JOGL有很好的支持,它支持Collada格式,地形,高度图,它是由NASA和GIS应用程序使用的,它不是一个小众引擎。 Ardor3D甚至适用于Android,它是最具跨平台的3D引擎之一。

我建议你看一下在Ardor3D中显示程序性地形的演示: http://www.youtube.com/watch?v=bkXFkxrYtLY