Android OpenGL ES 3D 图形绘制与交互
1. 绘制顶点
在 Android 中搭建好 OpenGL ES 环境后,就可以开始实际的绘制工作了。OpenGL ES 主要支持两种绘制调用: glDrawArrays() 和 glDrawElements() ,这两种方法都需要通过调用 glVertexPointer 来分配顶点缓冲区。由于 Android 基于 Java 运行,不能直接传递任意数组,因为数组内容可能在内存中移动,所以需要使用 ByteBuffer 、 FloatBuffer 或 IntBuffer 来确保数据在内存中的位置固定。以下是将浮点数组转换为 FloatBuffer 的辅助方法:
FloatBuffer getFloatBufferFromFloatArray(float array[]) {
ByteBuffer tempBuffer =
ByteBuffer.allocateDirect(array.length * 4);
tempBuffer.order(ByteOrder.nativeOrder());
FloatBuffer buffer = tempBuffer.asFloatBuffer();
buffer.put(array);
buffer.position(0);
return buffer;
}
<
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



