Что означает iv в конце glGetShaderiv()?
Что означает "iv" в glGetShaderiv()?
Ответ 1
Он описывает возвращаемые параметры, в этом случае вектор ints. Одна и та же номенклатура используется, например, для glTexParameteriv и glTexParameterfv, которая обновляет вектор ints или float соответственно.
Ответ 2
OpenGL имеет некоторые организованные соглашения об именах в отношении подпрограмм, которые они имеют в библиотеках.
Приставки
У всех подпрограмм есть gl перед ними. Подобное, что вы, должно быть, наблюдали с помощью glu и glut. В некоторых библиотеках vender также есть префиксы, такие как NVidia ребята установили префикс NV_ в флагах аппаратных функций.
Суффиксы
Суффиксы обычно являются индикатором того, какие аргументы принимает метод.
-
Некоторые, определяющие контекст функции. например
1D,2Dили3DнапримерglTexCoord2D -
Вид типов значений - это выбор аргумента функции. например
glTranslatefпринимает аргументыGLfloat(обратите внимание, что даже типы данных следуют одному и тому же соглашению об именах) иglTranslatedпринимаютGLdouble. -
Источник вершин (обычно, когда имеется слишком много вершин, и вы храните их в одном массиве), используя упомянутый метод:
glGetShaderivявляется функцией, принимает параметры дляshaders, где тип данныхGLint, а источником данных являетсяvector(v).
Вы можете принять такие соглашения, чтобы легко определить, какой метод принимает какие аргументы.
Ответ 3
Указывает, что вы хотите получить значение, представляющее собой массив целых чисел. Ссылка на функцию можно найти здесь, и, как вы можете видеть, возвращаемый параметр является GLint *. Это контрастирует с такими функциями, как glGetInternalFormati64v, который имеет параметр возврата GLint64 *. Я считаю, но не могу найти в данный момент, что существуют функции, использующие суффикс fv для обозначения плавающих и, возможно, других.