我有一个像这样在文件顶部声明的指针数组。
GLuint *buffers[2];
我希望将数组的实际值传递给 gl 函数以生成缓冲区:
GL_API void GL_APIENTRY glGenBuffers(GLsizei n, GLuint *buffers);
这是 API 条目。我无法更改功能,Khronos/Apple(通过扩展)可以。
我试过了:
glGenBuffers(2, *buffers);
没有运气。我不知道这是否可能,我假设不是,但如果有机会,它会让我的程序更容易编写。
这个例子不是我实际使用它的方式,我打算编写一个基于请求的几何加载器,它将生成所有缓冲区并将 malloc 拆分为更大的缓冲区,以减少调用并提高性能。
编辑:如果这是人们的建议,我无法更改 glGenBuffers 函数。
编辑:我现在意识到我的请求似乎是多么荒谬,我只是希望也许 c 有一个功能说这些是指针,所以编辑它们的值,在详细考虑这一点后,这似乎很可笑。我可能只是分配一个缓冲区数组,而不是使我的原始指针(在单独的类文件中)等于这个值: *originalBuffer[i] = generatedBuffer[i]; 在一个循环中。