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