Подтвердить что ты не робот

Что означает "iv" в glGetShaderiv()?

Что означает iv в конце glGetShaderiv()?

4b9b3361

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