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

时间:2013-03-15 18:50:37

标签: opengl

iv末尾的glGetShaderiv()代表什么?

3 个答案:

答案 0 :(得分:26)

它描述了返回的参数,在本例中是整数向量。例如,glTexParameterivglTexParameterfv使用了相同的命名法,它分别更新了一个int或float的向量。

答案 1 :(得分:5)

OpenGL有一些有组织的命名约定,涉及它们在库中的例程。

<强>前缀

所有例程前面都有gl个。您必须使用gluglut观察到类似的事情。一些供应商库也有像NVidia这样的前缀,他们在硬件功能标志中添加了NV_前缀。

<强>后缀

后缀通常表示该方法采用何种参数。

  • 一些指定函数的上下文。例如1D2D3D 例如glTexCoord2D

  • 一种价值类型是函数的参数。例如glTranslatef获取GLfloat个参数(请注意,即使数据类型遵循相同的命名约定),glTranslated也需要GLdouble

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

您可以采用这种约定来轻松识别哪种方法采用何种方式。

答案 2 :(得分:2)

它表示您希望获取一个整数数组的值。可以找到函数引用here,如您所见,返回参数是GLint *。这与glGetInternalFormati64v等函数形成对比,后者的返回参数为GLint64 *。我相信,但目前无法找到,有使用fv后缀表示浮点数的函数,可能还有其他函数。