Я хочу написать шейдерную программу, которая будет отображать каждый треугольник сетки в определенном цвете (чтобы я мог выбрать один треугольник). Я пытался использовать gl_PrimitiveID, но он всегда возвращает 0, например:
#version 330
out uvec3 FragColor;
void main()
{
FragColor = uvec3(0.0, 0.0, gl_PrimitiveID);
}
Этот шейдер всегда отображает черный цвет.
uvec3 (...)
, которая принимает 2 компонента с плавающей запятой и одно целое число). И если на то пошло, вы действительно рисуете в целочисленный цветовой буфер? Или это то, что вы пытались сделать как хак, чтобы заставитьgl_PrimitiveID
работать? - person Andon M. Coleman   schedule 05.01.2014