我學習的OpenGL ES的Android通過這個網站:http://www.learnopengles.com/android-lesson-one-getting-started/的OpenGL ES的Android混亂
有一對夫婦的事情,我不明白...
究竟做這個代碼做:
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);
什麼是這些「緩衝區」的東西,並總是有四個字節浮動?我不確定爲什麼需要上面的代碼。作者解釋說,但我不確定他的意思。
謝謝!
最近我問了一個類似的問題,也許有一個答案可能對你有用:http://stackoverflow.com/questions/10697161/why-floatbuffer-instead-of-float – Tim
嘿,我也在學習通過這些關於「學習Open GL ES」的精彩教程。第7課討論頂點緩衝區對象的可移植使用和硬件加速。 –