Смешивание текстуры для мягкого стирания альфа-значений с помощью OpenGL

У меня есть небольшое приложение для рисования, основанное на примере кода GLPaint. Работает нормально. Моя проблема в том, что мне нужно реализовать «кисть», которая стирает текстуры, которые уже были нарисованы.

Моя цель - иметь ластик с мягкими краями. Прямо сейчас я просто взял ту же текстуру, которую использовал для рисования, но переключил функции смешивания с

glBlendFunc(GL_SRC_ALPHA, GL_ONE);

в

glBlendFunc(GL_ZERO, GL_ZERO);

Результатом является квадратный прямоугольный ластик. Это нормально, но это не то, чего я на самом деле хочу. Мне нужны мягкие края. Я хочу сделать круглый ластик, а не квадратный прямоугольник.

Есть ли у вас догадки, как этого добиться? Или вы знаете, есть ли способ создать собственную функцию смешивания?

Ответы на вопрос(1)

Ваш ответ на вопрос