为什么OpenGL方法没有返回任何东西?

时间:2014-11-09 02:58:15

标签: c++ opengl

这只是出于好奇。我无法帮助,但注意到没有任何OpenGL方法返回任何内容,即使某些方法似乎更典型地通过返回实现。

例如,glGenBuffers有两个参数,你想要生成的缓冲区的数量,以及你想要存储它们的变量。但是,我认为大多数人会把它编码为只需要的方法一个参数,您要创建的缓冲区数,并返回这些缓冲区。这是出于速度原因吗?或许还有其他一些反对的原因?

1 个答案:

答案 0 :(得分:4)

在C中,如果不引入动态内存分配,很难返回任何数组。

所以到#34;返回"来自glGenBuffers (...)的多个名称,最简单的解决方案是将指针传递给数组,并让API调用将生成的名称存储在预先分配的数组中。