Я немного новичок в OpenGL. Я использовал его для очень простых вещей, таких как рендеринг текстур (2D) и базовых преобразований MODELVIEW, но теперь я хочу модифицировать альфа-значения в моде, аналогично стеку MODELVIEW.
У меня в основном класс glTex, который визуализирует текстуру в определенный момент после применения к ней определенных преобразований. (Перевод, Вращение, Альфа.) Теперь, это хорошо работает для простых вещей, таких как простые изображения, но если я хочу нарисовать что-то более сложное, скажем, простая сетка. Я хотел бы перевести в нужное положение сетки, а затем впоследствии нарисовать каждую ее часть. Это работает нормально, потому что я обычно вызываю glPushMatrix () и glPopMatrix () до и после рендеринга текстуры.
Проблема возникает, когда я хочу контролировать alhpa сетки. Предположим, что я хочу сделать это на уровне 0,50 альфа. Я мог бы пройтись по каждому из его компонентов и изменить их альфа-значения, но тогда это означает, что если некоторые части сетки состоят из более мелких частей, им придется делать то же самое, или если у меньших частей сами по себе есть альфа-значения, я бы нужно рассчитать совершенно новую альфу, которая превращается в действительно длительный процесс.
Есть ли какой-нибудь способ получить альфа-стек, подобный стеку MODELVIEW? Или есть ли лучший способ сделать это?
Пример. Сетка отображается при 0,5 альфа. Если в нем есть компонент, который обычно отображается с коэффициентом альфа 0,25, теперь он будет отображаться с коэффициентом альфа-125
.
Кстати, у меня для glBlendFunc установлено значение GL _SRC _ALPHA и GL _ONE _MINUS _SRC _ALPHA.