这只是出于好奇。我情不自禁地注意到,没有一个OpenGL方法返回任何东西,尽管有些方法似乎更典型地是用返回来实现的。
例如,glGenBuffers
有两个参数,一个是要生成的缓冲区数量,另一个是要存储它们的变量。但是,我认为大多数人都会将其编码为一个只接受一个参数的方法,即您想要创建的缓冲区数量,并返回这些缓冲区。这是因为速度原因吗?或者是其他一些不情愿的理由?
发布于 2014-11-09 03:12:44
在C中,如果不引入动态内存分配,很难返回任何东西的数组。
因此,要从glGenBuffers (...)
中“返回”多个名称,最简单的解决方案是传递一个指向数组的指针,并让API调用将生成的名称存储在预先分配的数组中。
https://stackoverflow.com/questions/26824489
复制相似问题