Я учусь 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
Эй, я также изучаю с этими великолепными учебниками по «Learn Open GL ES». Урок 7 посвящен портативному использованию объектов буфера вершин и аппаратного ускорения. –