这只是出于好奇。我无法帮助,但注意到没有任何OpenGL方法返回任何内容,即使某些方法似乎更典型地通过返回实现。
例如,glGenBuffers
有两个参数,你想要生成的缓冲区的数量,以及你想要存储它们的变量。但是,我认为大多数人会把它编码为只需要的方法一个参数,您要创建的缓冲区数,并返回这些缓冲区。这是出于速度原因吗?或许还有其他一些反对的原因?
答案 0 :(得分:4)
在C中,如果不引入动态内存分配,很难返回任何数组。
所以到#34;返回"来自glGenBuffers (...)
的多个名称,最简单的解决方案是将指针传递给数组,并让API调用将生成的名称存储在预先分配的数组中。