Итак, у меня есть фоновый рисунок линии, черно-белый. Я хочу иметь возможность рисовать поверх этого, сохраняя там черные линии и рисуя только там, где они белые. Я могу сделать это с помощью
glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA);
И черный остается черным, а белый получает любой цвет, который я хочу. Однако в белых областях я хочу иметь возможность рисовать какой-то цвет, выбирать другой цвет и затем смешивать. Однако это не работает, потому что смешана функция смешивания.
Итак, я подумал о том, чтобы иметь линейный кадровый буфер и пользовательский рисованный кадровый буфер. Пользователь рисует в пользовательский кадровый буфер с другим смешиванием, а затем я переключаю параметры смешивания и рисую в линейный кадровый буфер. Но я не знаю достаточно OpenGL, чтобы сказать, будет ли это работать или это глупая идея.
Большое спасибо