C和Java中'glVertexAttributePointer'函数的差异
当我查看C和Java中'glVertexAttributePointer'函数的差异,java,opengl,Java,Opengl,当我查看glvertexattributepointer函数的javadoc时,我看到它是“C语言函数的入口点: void glvertexattributepointer(GLuint索引、闪烁大小、格伦类型、GLboolean归一化、GLsizei步长、const void*指针) 除了最后一个参数外,参数之间的对应关系基本上是向前的。“C”版本似乎是合乎逻辑的:必须指定数据,而指针就是最好的。在Java版本中,我更困惑,因为需要一个long整数 谁能解释一下这个long整数如何表示“C”指
glvertexattributepointer
函数的javadoc时,我看到它是“C语言函数的入口点:
void glvertexattributepointer(GLuint索引、闪烁大小、格伦类型、GLboolean归一化、GLsizei步长、const void*指针)
除了最后一个参数外,参数之间的对应关系基本上是向前的。“C”版本似乎是合乎逻辑的:必须指定数据,而指针就是最好的。在Java版本中,我更困惑,因为需要一个long
整数
谁能解释一下这个long
整数如何表示“C”指针吗?的最后一个参数根据函数的使用情况有不同的含义。如果没有缓冲区对象(零)绑定到
GL\u ARRAY\u buffer
目标,则它是指向数组()中第一个通用顶点属性的第一个组件的指针。如果命名缓冲区对象绑定到目标
GL\u ARRAY\u buffer
,则会被视为缓冲区对象数据存储中的字节偏移量(请参见和)的最后一个参数具有不同的含义,具体取决于函数的使用情况。如果没有缓冲区对象(零)绑定到
GL\u ARRAY\u buffer
目标,则它是指向数组()中第一个通用顶点属性的第一个组件的指针。如果命名缓冲区对象绑定到目标
GL\u ARRAY\u buffer
,则会被视为缓冲区对象数据存储中的字节偏移量(请参阅和)