Кисти в стиле фотошоп в OpenGL
Я пытаюсь реализовать наброски от руки (это должно выглядеть как карандаш). Я провел некоторое исследование, и я удивлен, что в Интернете так мало информации об этом. Лучшая информация, которую я получил, - это рисовать в Photoshop и наблюдать за результатом. Я думаю, что Photoshop работает примерно так:
1) Каждая кисть имеет свою собственную карту пикселей, сообщающую, какая непрозрачность имеет каждый пиксель. 2) Настройки (например, вес, цвет и т. Д.) Применяются к этой карте пикселей перед рисованием. 3) При нажатии мыши Photoshop начинает медленно заполнять пиксели под указателем. в соответствии с картой пикселей с учетом непрозрачности 4) При быстром рисовании (чтобы расстояние между двумя рамками мыши превышало коэффициент заполнения), Photoshop каким-то образом интерполирует кисть, чтобы она выглядела однородно. Я не уверен, но я думаю, что это также применяет некоторые преобразования к шаблону, потому что линия не выглядит правильной.
Еще один эффект, который я хотел бы реализовать, - это то, как линия становится тоньше до того, как карандаш поднимается (в зависимости от скорости движения карандаша) - как в реальной жизни.
Я буду признателен за любые подсказки о: 1) Как точно работают кисти Photoshop (или аналогичные инструменты) 2) Любые инструменты с открытым исходным кодом, которые делают что-то похожее 3) Ключевые слова для поиска (по-видимому, я гуглюсь с неправильными словами)
Вот ссылка, которую я нашел в процессе исследования (к сожалению, закрытый источник): http://www.youtube.com/watch?v=3RPphJxxscY
1 ответ
1) Как точно работают кисти фотошопа (или аналогичный инструмент)
Ваши догадки были довольно точными
2) Любые инструменты с открытым исходным кодом, которые делают что-то подобное
GIMP http://www.gimp.org/
3) Ключевые слова для поиска (по-видимому, я в поисках неправильных слов)
симуляция естественного рисования