Как узнать, что активная текстура имеет идентификатор текстуры 0 в GLSL?

У меня есть модельные активы, которые не имеют текстур, и я устал отрисовывать их черными без освещения. Это потому, что если привязан идентификатор текстуры 0, и я спрашиваю сэмплер, он сообщает мне свой черный цвет. Позже это приводит к освещению 0 *, делая весь объект черным без освещения. В идеале я бы хотел, чтобы он был раскрашен, снабжен материей и освещен (что произойдет, если мы не умножим его на 0)

Я подумал об использовании униформного флага и переключении его для каждого объекта, но я был надеясь на более простой и более производительный способ, если нам позже понадобятся частично текстурированные ресурсы.

Я также хотел привязать белую текстуру, выдвигая белый пиксель и, например, настраивая ее на перенос, но это похоже на «Chi Ting».

Запись. Допустимая текстура может возвращать черный цвет, поэтому мы не можем просто игнорировать чтение черной текстуры. ну, мы могли бы, но это выглядело бы плохо. В настоящее время мы не используем никаких буферных объектов, только устаревший метод glBegin () glEnd () со списками отображения.

Любые другие идеи приветствуются.

5
задан EnabrenTane 30 May 2011 в 09:07
поделиться