根據對libgdx你只能調用它的根據不同的對象這3種方式之一來源:
//Normal methods
.glGenVertexArrays(int n, int[] arrays, int offset);
.glGenVertexArrays(int n, IntBuffer arrays);
//Method specifically for AndroidGL30.glGenVertexArrays(...
.glGenVertexArrays (int n, java.nio.IntBuffer arrays);
在大多數情況下,n
被忽略或只是作爲一個數組的大小。下面從LwjglGL30
類複製:
@Override
public void glGenVertexArrays (int n, int[] arrays, int offset) {
for(int i = offset; i < offset + n; i++) {
arrays[i] = GL30.glGenVertexArrays();
}
}
@Override
public void glGenVertexArrays (int n, IntBuffer arrays) {
GL30.glGenVertexArrays(arrays);
}
所以從這一點,我們可以看到,對於IntBuffer
方法,你可以簡單地使用你的代碼如下:.glGenVertexArrays(1, myIntBuffer);
參考:
https://github.com/libgdx/libgdx/search?utf8=%E2%9C%93&q=glGenVertexArrays&type=
如需更多幫助,您應該向我們展示更多的代碼,以及您使用什麼對象調用glGenVertexArrays()
。
實際上,LWJGL是不符合標準的庫。根據OpenGL規範,「glGenVertexArrays」總是需要一個整數(要生成的VAO的數量)和句柄存儲的存儲段。 – BDL