0

3 个月来,我一直在开发基于 LWJGL 和 Java 1.6 的 2d RPG。我的下一个目标是写出所有与游戏无关的东西。这包括菜单、文本输入框、按钮以及物品栏和角色信息屏幕之类的东西。由于我是一名计算机工程专业的学生,​​我正在尝试自己编写所有内容(当然,LWJGL 的 OpenGL 部分除外),以便我在编写一个简单的 2d 游戏引擎时“测试”自己。我知道从头开始制作这样的东西需要基本上将纹理映射到四边形(如按钮),在上面写东西并测试触发代码中其他事件的鼠标/键盘事件。

我的疑问是:在渲染这些元素时,我应该使用 VBO(就像我在实际游戏渲染中使用的那样)还是立即模式?我真的不知道立即模式是否会降低性能。另一点是:界面元素是否必须与游戏本身一样快地更新?我不这么认为,因为实际上没有任何东西在移动……实际的游戏是这样制作的吗?

4

1 回答 1

1

即时模式对于任务来说更直接,你不需要关心缓存和控制组合/批处理。性能下降并没有那么大,除非您在单独的glBegin..glEnd. 如果您不在其他任何地方使用 VBO,我建议您尝试将其用于文本输出并在更简单的即时模式下进行其他所有操作。

GUI 元素可能不会像游戏状态那样经常更改,但有一个问题——每次有光标交互时,您可能需要更新它们(例如,按钮获取OnMouseOver事件并需要以高亮显示)。此类事件可能会非常频繁地发生,因此可能需要全速渲染。

于 2012-10-14T06:00:18.587 回答