这只是出于好奇。我忍不住注意到,尽管某些方法似乎更典型地通过返回来实现,但OpenGL方法均未返回任何内容。
例如,glGenBuffers有两个参数,要生成的缓冲区数和要存储它们的变量。但是,我认为大多数人会将其编码为仅采用一个参数的方法,即缓冲区数想要创建并返回这些缓冲区。这是出于速度原因吗?还是其他古老的原因?
在C语言中,不引入动态内存分配就很难返回任何东西的数组。
因此,要从中“返回”多个名称glGenBuffers (...),最简单的解决方案是将指针传递给数组,并使API调用将生成的名称存储在预分配的数组中。