如何将 .glb (gltf) 二进制数据模型加载到 Android Studio (OpenGLES 20)
How to load .glb (gltf) binary data model to AndroidStudio (OpenGLES20)
我尝试从 .glb
文件 (Blender) 加载模型
执行以下操作:
private FloatBuffer bufferXYZ;
ByteBuffer glb_bb;
...
byte[] bytes = new byte[vertexXYZ_BufferLen];
glb_bb.get(bytes, 0, bytes.length);
ByteBuffer buffer = ByteBuffer.allocateDirect(bytes.length).order(ByteOrder.nativeOrder());
buffer.position(0);
buffer.put(bytes);
bufferXYZ = buffer.asFloatBuffer();
buffer.rewind();
bufferXYZ = ((ByteBuffer) buffer.rewind()).asFloatBuffer();
但是我无法在bufferXYZ
中得到正确的坐标
和坐标类似的东西只能通过排序得到ByteOrder.BIG_ENDIAN(文档说LITTLE_ENDIAN)
如何正确地将 BIN 部分加载到 OpenGLES20
的 Floatbuffer 中
谢谢了解。连BIN字后也需要移动阅读起点
我尝试从 .glb
文件 (Blender) 加载模型
执行以下操作:
private FloatBuffer bufferXYZ;
ByteBuffer glb_bb;
...
byte[] bytes = new byte[vertexXYZ_BufferLen];
glb_bb.get(bytes, 0, bytes.length);
ByteBuffer buffer = ByteBuffer.allocateDirect(bytes.length).order(ByteOrder.nativeOrder());
buffer.position(0);
buffer.put(bytes);
bufferXYZ = buffer.asFloatBuffer();
buffer.rewind();
bufferXYZ = ((ByteBuffer) buffer.rewind()).asFloatBuffer();
但是我无法在bufferXYZ
和坐标类似的东西只能通过排序得到ByteOrder.BIG_ENDIAN(文档说LITTLE_ENDIAN)
如何正确地将 BIN 部分加载到 OpenGLES20
谢谢了解。连BIN字后也需要移动阅读起点