如何将.glb(gltf)二进制数据模型加载到AndroidStudio(OpenGLES20)

问题描述 投票:1回答:1

我尝试从.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中>

我尝试从.glb文件(Blender)加载模型,请执行以下操作:private FloatBuffer bufferXYZ; ByteBuffer glb_bb; ... byte [] bytes =新的byte [vertexXYZ_BufferLen]; ...

android-studio opengl-es-2.0 bytebuffer gltf floatbuffer
1个回答
0
投票

感谢理解。即使在单词BIN之后,也必须转移阅读的起点。

© www.soinside.com 2019 - 2024. All rights reserved.