OpenGLES смешивать и сочетать варианты смешивания сложный вопрос - PullRequest
0 голосов
/ 25 марта 2010

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

glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA);

И черный остается черным, а белый получает любой цвет, который я хочу. Однако в белых областях я хочу иметь возможность рисовать какой-то цвет, выбирать другой цвет и затем смешивать. Однако это не работает, потому что смешана функция смешивания.

Итак, я подумал о том, чтобы иметь линейный кадровый буфер и пользовательский рисованный кадровый буфер. Пользователь рисует в пользовательский кадровый буфер с другим смешиванием, а затем я переключаю параметры смешивания и рисую в линейный кадровый буфер. Но я не знаю достаточно OpenGL, чтобы сказать, будет ли это работать или это глупая идея.

Большое спасибо

1 Ответ

0 голосов
/ 25 марта 2010

Если ваш рисунок прозрачен в белых областях, вы можете сделать это: сначала нарисуйте свои цветные области, а затем нанесите на них линию, используя стандартную смесь GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...