在使用OpenGL ES的平台上,任何函数都可以代替VertexBuffer中的GetData吗?

时间:2013-09-11 17:31:50

标签: android opengl-es xna-4.0 monogame

当我从wp运行Android的monogame游戏时,它可以运行:

    public void InitBuffers()
    {
        meshVertices = new VertexData[meshVertexBuffer.VertexCount];
        meshVertexBuffer.GetData<VertexData>(meshVertices);

        meshIndices = new short[meshIndexBuffer.IndexCount];
        meshIndexBuffer.GetData<short>(meshIndices);

        vertices = new VertexData[meshVertices.Count() * maxAmountOfInstances];
        indices = new short[meshIndices.Count() * maxAmountOfInstances];
    }

meshVertexBuffer来自于其中包含顶点缓冲区的模型。在wp中,我发现meshVertices是一个来自meshvertexbuffer的数组,通过函数GetData,但是在android中GetData不起作用,并且得到错误:顶点缓冲区在OpenGL ES上是只写的

我想编写一个从vertexbuffer读取数据的函数,但我没有在wp中找到该结构。

我想要一个答案,如何将VertexBuffer从模型转换为数组?

1 个答案:

答案 0 :(得分:0)

我发现这个问题我认为有助于解释你的问题。

问题:Opengl Vertex Array Objects

<强>更新

这可能也会有所帮助:Vertex Specification Best Practices