Эффект размытия (эффект Wet in Wet) в приложении Paint с использованием OpenGL-ES - PullRequest
1 голос
/ 08 августа 2011

Я разрабатываю приложение Paint, используя OpenGL-ES для iPhone , и я хочу реализовать эффект размытия по Гауссу (Wet in Wet) для рисования.Пожалуйста, посмотрите на изображение, описывающее мои требования к эффекту размытия:

Blur effect

Я пытался найти, как работает функция OpenGL, но ничего не получил.Может ли кто-нибудь направить меня в правильном направлении в этой проблеме .. Любая помощь или предложение будут высоко оценены .. Спасибо ..

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011

Вы должны иметь возможность рендерить один и тот же мазок кисти многократно друг от друга, чтобы получить желаемый эффект. Если вы дрожите при рендеринге с гауссовым распределением, вы получите размытие по Гауссу.

Это было бы похоже на сглаживание джиттера с буфером накопления, но вместо использования субпиксельных смещений вы бы использовали многопиксельные смещения, настолько большие, насколько вы хотите получить эффект размытия. Возможно, вы захотите сделать рендеринг около 16 раз, чтобы он выглядел гладко. http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node63.html

Это также похоже (или на самом деле то же самое) на дрожание для создания размытия в движении. http://glprogramming.com/red/chapter10.html

Вам даже НЕ НУЖНО использовать отдельный буфер накопления здесь, просто рендеринг каждого прохода с альфа-каналом, который добавляет к телу. Следует помнить одну вещь: вам нужно всегда дрожать на одинаковых смещениях, чтобы последовательные кадры выглядели одинаково (т. Е. Если вы используете случайные смещения, то каждый кадр будет иметь немного отличающийся эффект размытия).

1 голос
/ 08 августа 2011

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

Happy Blurring ...

...