Я пытаюсь получить довольно простой эффект;Я бы хотел, чтобы у моих спрайтов была возможность использовать свои альфа-каналы в GL (то есть просвечивающие по всем частям изображения, но не во всех), а также для всего спрайта иметь уровень «непрозрачности», который влияет навесь спрайт.
У меня есть последняя часть, это было достаточно простым делом использования GL_MODULATE и передачи color4d (непрозрачность, непрозрачность, непрозрачность, непрозрачность).Работает как сон.
Но проблема в первой части;частично полупрозрачные изображения.Я подумал, что могу просто выбросить glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);и включить смешивание, но, к сожалению, этого не происходит.Кажется, что он «отбеливает» цвет рассматриваемого изображения, а не делает его прозрачным.Любые другие спрайты, проходящие под ним, ведут себя так, как если бы это был сплошной блок цвета, и сразу обрезаются.
Для справки я отключил освещение, z-буфер, цветной материал и альфа-тест.Делал тени модель плоской, на всякий случай.Но кроме этого, я использую стандартные настройки орто.Я использую teximage2d для рассматриваемой текстуры, и я был уверен, что форматы и GL_RGBA все установлены правильно.
Как я могу заставить GL учитывать альфа-канал текстуры во время наложения?