【发布时间】:2012-05-27 02:52:29
【问题描述】:
我正在通过这个网站学习适用于 Android 的 OpenGL ES:http://www.learnopengles.com/android-lesson-one-getting-started/
有几件事我不明白...
这段代码究竟做了什么:
mTriangle1Vertices = ByteBuffer.allocateDirect(triangle1VerticesData.length * mBytesPerFloat)
.order(ByteOrder.nativeOrder()).asFloatBuffer();
mTriangle2Vertices = ByteBuffer.allocateDirect(triangle2VerticesData.length * mBytesPerFloat)
.order(ByteOrder.nativeOrder()).asFloatBuffer();
mTriangle3Vertices = ByteBuffer.allocateDirect(triangle3VerticesData.length * mBytesPerFloat)
.order(ByteOrder.nativeOrder()).asFloatBuffer();
mTriangle1Vertices.put(triangle1VerticesData).position(0);
mTriangle2Vertices.put(triangle2VerticesData).position(0);
mTriangle3Vertices.put(triangle3VerticesData).position(0);
这些“缓冲”的东西是什么,浮点数总是有四个字节吗?我不太确定为什么需要上面的代码。作者解释了,但我不确定他的意思。
谢谢!
【问题讨论】:
-
我最近问了一个类似的问题,也许其中一个答案可能对你有用:stackoverflow.com/questions/10697161/…
-
嘿,我也在学习这些关于“学习 Open GL ES”的精彩教程。第 7 课涉及顶点缓冲区对象和硬件加速的可移植使用。
标签: android opengl-es opengl-es-2.0 bytebuffer floatbuffer