昨天看了看《Android应用开发揭秘》一书中的OpenGL章节,在2.0上运行没有任何问题。改用2.1的模拟器运行却出现问题,根据Logcat显示程序崩溃的原因是void glVertexPointer(size, type, stride, pointer)这个方法。
分析原因:书上源码以及API Demos中缓冲区定义的不同方式
书中源码中的Render:
API Demos中的Cube:
从这两段代码中可以看到定义顶点等Buffer的时候两者的不同之处,在开发中最好使用API Demos中的方法,这样就不会出现在2.1中不能运行通过的问题。
对于数据结构方面的东西没有深究,如果有人知道是为什么期待您的解答哦……