Простой фрагментный шейдер Opengl для наложения полупрозрачного треугольника на текстуру - PullRequest
2 голосов
/ 01 февраля 2011

У меня есть текстурированная треугольная полоса, которая образует квад.когда вы нажимаете на него, я хочу, чтобы окружающие области были помечены полупрозрачными квадратами, чтобы вы все еще могли видеть текстуры под ними.у меня квадраторы отображаются правильно, но они совсем не прозрачны и полностью покрывают все, что находится под ними.

У меня есть очень простой фрагментный шейдер, который, я думал, будет работать с glEnable(GL_BLEND) и glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA):


#version 130

out vec4 flatColor;

void main(void)
{
    flatColor = vec4(0.0,1.0,0.0,0.5);
}

Если я текстурирую четырехугольники простым изображением, это прекрасно работает RGBA (0,255,0,128), но я не хочу создавать текстуру для каждого цвета, который я хочу использовать, и хотел бы сделать эточерез шейдер.

1 Ответ

4 голосов
/ 02 февраля 2011

Я идиот и не понимал, что не отступаю вперед, поэтому смешивание было испорчено.как только я установил порядок сортировки, эффект прозрачности сработал так, как я хотел.

...