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

Что означает термин genType в OpenGL/GLSL?

В документации GLSL термин genType часто используется как тип параметров. Например, функция dot документируется следующим образом:

float dot(genType x,
          genType y);

double dot(genDType x,
           genDType y);

Что означает термин genType? Что это сокращает? Используется ли он в другом месте, чем OpenGL?

4b9b3361

Ответ 1

Это уловка для нескольких типов. Из раздела спецификации 8

Когда встроенные функции указаны ниже, где вход аргументы (и соответствующий вывод) могут быть float, vec2, vec3 или vec4, genType используется в качестве аргумента. Где входные аргументы (и соответствующий выход) могут быть int, ivec2, ivec3 или ivec4, genIType используется как аргумент.

Для справки, все "общие" типы:

  • genType: floats
  • genDType: двойные поплавки
  • genIType: целые числа со знаком
  • genUType: целые числа без знака
  • genBType: booleans
  • mat: float matrices
  • dmat: двойные матрицы