正确使用glVertexPointer?

时间:2013-03-24 20:15:08

标签: java opengl lwjgl

每当我查看解释如何使用glDrawArrays和glVertexPointer命令的教程时,他们使用的参数都与我可用的参数不同。

例如:教程使用以下参数调用glVertexPointer :(顶点是一个浮点数组)

glVertexPointer(3, GL_FLOAT, 0, Vertices);

我可用的参数是:

glVertexPointer(int size, int stride, FloatBuffer pointer);

我的问题是:使用glVertexPointer()的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

glVertexPointer,顾名思义,基于使用指针。你正在使用Java,指针不存在。因此,Java等价物必须以不同的方式工作。它必须采用一个特殊的内存数组对象,它可以在内部转换为一个C指针,该指针将被传递给实际的glVertexPointer调用。

因为Java在缓冲区的内容上放置了一个类型,所以不需要显式类型字段。有several overloads of glVertexPointer in LWJGL,每个都使用不同类型的缓冲区。