游戏界面设计 - VBO还是立即模式?

时间:2012-10-14 03:36:56

标签: opengl user-interface vbo

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

我怀疑的是:我应该在渲染这些元素时使用VBO(因为我用于实际的游戏渲染)或立即模式吗?我真的不知道立即模式是否会如此下降。另一点是:界面元素是否必须像游戏本身一样快速更新?我不这么认为,因为实际上什么都没有动......实际的游戏是这样的吗?

1 个答案:

答案 0 :(得分:1)

立即模式对于任务更直接,您不需要关心缓存和控制组合/批处理。性能下降并不是那么大,除非你在单独的glBegin..glEnd中为每个字形渲染大量文本(数千个字母)。如果您不在其他地方使用VBO,我建议您尝试将其用于文本输出,并在更简单的立即模式下执行其他操作。

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