如何将浮点数组传递给glVertexAttribPointer

|| 我正在Android上使用OpenGL ES 2.0着色器... 我有一个带有顶点位置以及其他顶点属性的float数组。 位置和其他属性可能会随时间变化。 我如何将这个修改后的数组传递给glVertexAttribPointer, 这样我就可以用更新的值绘制场景 当我试图通过它时,我得到了   GLES20类型的方法glVertexAttribPointer(int,int,int,boolean,int,Buffer)不适用于参数(int,int,int,boolean,int,float [])     
已邀请:
        
FloatBuffer yourFloatBuffer;
float[] yourFloatArray;    

FloatBuffer byteBuf = ByteBuffer.allocateDirect(yourFloatArray.length * 4);
    byteBuf.order(ByteOrder.nativeOrder());
    yourFloatBuffer = byteBuf.asFloatBuffer();
    yourFloatBuffer.put(yourFloatArray);
    yourFloatBuffer.position(0);
这应该工作。     
        是java.nio.Buffer吗?因为好像你需要
java.nio.FloatBuffer
并调用floatBuffer.array() 以获得float []数组。 但是,显然,它在FloatBuffer.java中是最终的:
final float[] hb;   
因此,您似乎需要...可能需要扩展FloatBuffer并使该数组成为非最终数组。     

要回复问题请先登录注册