Что означает 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
для обозначения плавающих и, возможно, других.