Android(安卓)3D系列之基本概念篇
16lz
2021-01-25
为了提高性能,通常还需要将浮点数组存入一个字节缓冲中。所以有了下面的操作:
-
ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length * 4); //申请内存
-
vbb.order(ByteOrder.nativeOrder()); //设置字节顺序,其中ByteOrder.nativeOrder()是获取本机字节顺序
-
FloatBuffer vertexBuffer = vbb.asFloatBuffer(); //转换为float型
-
vertexBuffer.put(vertices); //添加数据
-
vertexBuffer.position(0); //设置缓冲区起始位置
OpenGLES的很多函数功能的使用状态是处于关闭的。启用和关闭这些函数可以用glEnableClientState、glDisableClientState来完成。
-
// 指定需要启用定点数组
-
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
-
// 说明启用数组的类型和字节缓冲,类型为GL_FLOAT
-
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBuffer);
-
// 不再需要时,关闭顶点数组
-
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
更多相关文章
- Android(安卓)camera系统开发之IPC (二)
- android AsyncQueryHandler的分析
- android接收短信(SmsMessage.createFromPdu((byte[])obj)不推荐使
- Android(安卓)DES加密的CBC模式加密解密和ECB模式加密解密
- Android(安卓)4.0 wifi 和 Ethernet 的实现分析
- android 访问WebService
- 安卓WebView与JavaScript交互
- 在Android中访问WebService接口
- android画图---图像的扭曲