我目前正在为一个学校项目开发我的第一个3D游戏,游戏世界完全受“我的世界”(完全由立方体构成的世界)的启发。我目前正在努力提高实现顶点缓冲区对象的性能,但我被困住了,我已经实现了以下方法: Frustum,只绘制暴露的面孔和距离剔除,但我有以下疑问:
发布于 2011-11-29 18:52:41
glBufferData进行新的调用,如果将数据发送到显卡,这可能是一个昂贵的调用。发布于 2011-11-29 18:55:53
glVertex),而不仅仅是几个缓冲区函数和一个抽签调用。因此,使用VBO(当然是使用GL_DYNAMIC_DRAW甚至GL_STREAM_DRAW )可能仍然比直接模式更快。它不仅可能的GPU存储,而且减少了驱动程序调用的数量,使VBO(或顶点数组一般)比即时模式更快。
稍后,您还可以使用转换反馈实现一些更复杂的硬件剔除技术,因此您可以直接在GPU上进行剔除,并且不需要将顶点数据发送到每个帧。
glBufferData),因此调整大小是绝对没有问题的。只需用不同的大小再次调用glBufferData。
https://stackoverflow.com/questions/8315908
复制相似问题