'iv'在glGetShaderiv()中代表什么?

36
< p >在 < code >glGetShaderiv() 的末尾,< code >iv 代表什么?< /p >
3个回答

41

它描述了返回的参数,这里是一个 整数向量。类似的命名法也应用于例如glTexParameterivglTexParameterfv,分别更新整数或浮点数向量。


12

OpenGL的库函数名称有一些统一的命名规则。

前缀

所有函数名称都以gl开头。与此类似,您可能已经注意到gluglut也有相应的前缀。一些供应商库还具有前缀,例如NVidia的硬件功能标志使用了NV_前缀。

后缀

后缀通常用于指示方法需要何种类型的参数。

  • 某些后缀指定函数的上下文。例如,1D2D3D,例如glTexCoord2D

  • 函数参数取值类型的种类。例如,glTranslatef需要GLfloat参数(注意,数据类型遵循相同的命名约定),而glTranslated则需要GLdouble

  • 顶点的来源(当存在太多顶点并且您将它们存储在单个数组中时通常使用)采用您提到的方法:glGetShaderiv是一个函数,它接受shaders参数,数据类型为GLint,数据来源是一个vectorv)。

您可以使用这种约定轻松地识别哪个方法需要哪种类型的参数。


4
这段文字意味着你想要获取一个由整数数组组成的值。函数参考可以在这里找到,正如你所看到的,返回参数是GLint *类型。与此相反,像glGetInternalFormati64v这样的函数返回参数是GLint64 *类型。我相信,虽然目前无法确定,但会有一些使用fv后缀表示浮点数以及可能其他类型的函数存在。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接