为什么OpenGL方法不返回任何内容

Why do OpenGL methods not return anything?

本文关键字:任何内 返回 OpenGL 方法 为什么      更新时间:2023-10-16

这只是出于好奇。我忍不住注意到,OpenGL方法中没有一个返回任何内容,尽管有些方法似乎更典型地是通过返回来实现的。

例如,glGenBuffers有两个参数,即要生成的缓冲区数量和要存储它们的变量。然而,我认为大多数人会将其编码为只接受一个参数的方法,即要创建的缓冲区的数量,然后返回这些缓冲区。这是出于速度原因吗?或者其他一些反犹太主义的原因?

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

因此,要从glGenBuffers (...)"返回"多个名称,最简单的解决方案是将指针传递到数组,并让API调用将生成的名称存储在预先分配的数组中。