glUniformMatrix4fv
1.在OpenGL中,没有使用任何参数并在函数尾不具有数据类型代号的函数只有一个: GL_ENUM error = glGetError();
2.只具有一个参数(GL_ENUM)而且不具有函数尾数据类型代号的函数有: glEnable(GL_COLOR_ARRAY);
3.大部分OpenGL函数都是适用于不止一种数据类型。这在普通版OpenGL中尤为明显,大部分函数都有至少半打变种,允许你传递诸如 GLshort, GLbyte, GLint, GLfloat, GLDouble,或 GLfixed值或参考。在OpenGL ES中,函数调用的变种和数据类型少得多。然而,OpenGL ES仍然遵循同样的命名规则,所以最好还是要理解这些数据类型代号的含义。 函数名后的第一或者第二个字母代表了数据类型。
下面是说明:
b GLbyte
s GLshort
i GLint
f GLfloat
ub GLubyte
us GLushort
ui GLuint
所以 glFoof()需要传递一个glFloat,而 glFoos()则需要一个 GLshort。注意: 在常规 OpenGL中,后缀中可能还包括数字。这些数字代表需要的数据类型的数量。
例如,函数glVertex3f()使用三个GLfloat。由于此命名模式大部分用于直接模式,而OpenGL ES并不支持,所以在OpenGL ES中你不会常见到这种命名规则,
然而有些函数还是遵循这种规则的,例如, glColor3f()。保持后缀中的数字可以使这两类API最大限度地兼容。再回头看看第四部分,有时函数提供更通用的功能,如glLightf()。
4. v 后缀说明函数需要传递指针类型.