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