Мне было интересно, есть ли способ узнать, включен ли атрибут вершины из вершинного шейдера? Я знаю, что если атрибут вершины отключен, все значения будут рассматриваться как 0,0, поэтому я мог бы выполнить следующий тест:
if (attribute == 0)
{
// Do something different to normal.
}
else
{
// Use the attribute.
}
Но это имеет очевидную проблему для случая, когда атрибут включен, а значение просто установлено на 0 (он будет рассматриваться как отключенный)!
Другим решением было бы просто использовать юниформ-переменную, которая указывает, использовать ли атрибут или нет, но мне интересно, есть ли что-нибудь встроенное в GLSL, что делает это?