我的公司决定我们需要一个“通用”的演示基础架构来进行技术演示,因为我可以使用 JOGL 或 OpenGL 编写它并创建自己的框架,我不想重新发明轮子。但是那里有很多 3D gfx 引擎和很多 OpenGL 包装器!
基本上,我们想使用 3D 图形来渲染一些地形并在上面放置简单的模型。他们的要求是让它看起来很棒并且是跨平台的。
基本上,我可以自由决定这将遵循的范围和范例,但我在想: - 能够加载 3D 模型并以全屏或窗口模式渲染它们。- 能够控制摄像机“飞”过所产生的场景。- 能够在所有内容之上显示/隐藏广告牌消息,即固定在屏幕上并始终面向相机的 2D 文本和图像。- 能够更改关于场景部分的简单事情,例如使对象出现/消失、更改高光颜色(如涂成红色)等。- 我可以选择编写或使用现有的脚本语言来注入事件处理和预编程动画。
示例用例: - 我们公司的某个人准备了一个包含一些建筑物的 3D 地形模型,基本上生成了一个类似 XML 的文件来描述场景及其对象。- 然后他继续使用我的程序飞过地形并记录一些“感兴趣的”相机位置。- 然后,他将其中一些位置绑定到键盘键和/或现有的 GUI 按钮。- 他添加了一些浮动文本。- 他使用我的程序演示了一个演示,加载了他的 3D 模型文件和脚本文件,然后可以开始与观众一起从他选择的一个相机姿势“飞”到下一个,当他到达和离开时,浮动文本会淡入淡出相机位置...当他单击按钮时,地形上的一些建筑物会以红色突出显示...等等。
- 我有一些 OpenGL 和 JOGL,以及 XNA Game Studio 的经验。
- 我宁愿使用Java,这样它就可以尽可能地独立于平台。
我该怎么办?