转发,请保持地址:http://blog.csdn.net/stalendp/article/details/8710062
========
前一段时间,在准备游戏开发的过程中,自己尝试着去了解游戏引擎,也做了一些试验;期间遇到了很多问题,现在把一些解决方案以及相关知识点整理出来。这里是第一篇。
========
这篇文章是为了解决Android SDK2.2中使用OpenGL VBO技术时遇到的bug,如果你并不关心2.2版本,或者不直接使用OpenGL的VBO技术,那就可以忽略这篇文章。不过这篇文章还提醒一点的是,不管什么样的软件,多多少少都会有些问题的,这个时候就需要多多思考,通过搜索引擎的帮助来解决问题,这样不仅解决了问题,而且还掌握了很多东西。
传统的OpenGL绘制方式,是每一条命令绘制命令都会有CPU向GPU发送数据的操作。OpenGL VBO(Vertex Buffer Object)通过加载的方式,把需要绘制的数据预先加载到GPU,能够减少程序对GPU发送的数据量,从而提高游戏的性能。
这个VBO的bug是glDrawElements和glVertexAttribPointer的VBO版本没有被映射,导致Java端调用失败。不知道是什么原因导致了这个结果,这个bug感觉有些低级,有个老外这样嘲讽google的开发人员: