Ответ 1
Это уловка для нескольких типов. Из раздела спецификации 8
Когда встроенные функции указаны ниже, где вход аргументы (и соответствующий вывод) могут быть float, vec2, vec3 или vec4, genType используется в качестве аргумента. Где входные аргументы (и соответствующий выход) могут быть int, ivec2, ivec3 или ivec4, genIType используется как аргумент.
Для справки, все "общие" типы:
- genType: floats
- genDType: двойные поплавки
- genIType: целые числа со знаком
- genUType: целые числа без знака
- genBType: booleans
- mat: float matrices
- dmat: двойные матрицы