Создайте альфа-маску (что делает теперь glBlendFunc?)

Я пытаюсь сделать квадратную рамку (переменная толщина, чтобы линии не работали). Я думал, что 4 четырехугольника сделают свое дело (все одинакового размера, просто повернутые и переведенные для каждой стороны). Тогда я подумал, что 2 квада должны сделать это — нарисуйте один, затем нарисуйте маленький в середине. Тем не менее, я на самом деле пытаюсь создать «дыру» в коробке со вторым. Я думаю, что я мог бы применить некоторую функцию смешивания, которая делает то, что я хочу.

Я не совсем понимаю, что происходит.

Я понимаю факторы, но не понимаю определения источника и назначения. Будут ли src существующие пиксели в этом месте или пиксели, которые я планирую разместить там? Назначение кажется интуитивно понятным для вызова буфера, потому что именно там я и планирую разместить пиксели.

Если это так, то, когда я швыряю свой первый блок, я уничтожаю данные пикселей и, независимо от того, как я пытаюсь смешаться, я потерплю неудачу. Это правильно? Это все еще не позволяет мне понять, что означают параметры (sfactor, dfactor). Что произойдет, если я добавлю GL_DST в src и dst? Есть ли хорошее объяснение того, как они работают? я обнаружил

http://www.opengl.org/sdk/docs/man/xhtml/glBlendEquation.xml

http://www.andersriggelsen.dk/glblendfunc.php

Но нет хороших примеров того, как на самом деле применить эти факторы к пиксельным данным.

0

Решение

Назначение — это данные пикселей видеобуфера (кадровый буфер), а источником — данные пикселей, с которыми вы хотите смешать данные.
В тексте сказано:

кадровый буфер (цвет » destination »)

новый пиксель (цвет » источник »)

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]