一些未成年人的东西,现在正困扰着我。在OpenGL中,当我想为缓冲区分配名称时,我使用以下函数。请注意,输出类型为 GLuint (无符号整数)。
void glGenBuffers(GLsizei n, GLuint * buffers);
当我想获取当前绑定到给定目标的项目的名称时,我必须使用此功能:
void glGetIntegerv(GLenum pname, GLint * params);
,返回一个整数。我发现这有点令人困惑和不一致。我错过了 glGetUintegerv 命令吗?为什么这样做?
答案 0 :(得分:2)
不,你没有遗漏任何东西,至于理由,你需要向委员会/ Khronos询问,但我的赌注是glGet
左右的遗留情况。如果你一直觉得特别糟糕,你可能想编写自己的例程来接受(或者,更好地,返回)一个unsigned参数并执行安全的转换。