mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-13 10:55:34 +00:00
5fd66383ab
Rework Sobel a little bit again making it work as the old one: 1. desaturate input texture 2. calculate horizontal convolution for x gradient and vertical convolution for y gradient at the same time (halves the number of needed texture lookups) 3. store results in a single texture (red and green channel) 4. calculate remaining convolution (same as above switching vertical and horizontal) 5. calculate length of gradient using red and green as x and y components. Optimize wherever possible, store kernels as constants in the shaders, remove unneeded uniforms. Restore invert property carefully avoiding using IF. Still not sure if "full color" convolution will be needed, glfiltersobel is to be intended as a demo filter and xray, the only effect which uses sobel only needs edge intensity. Dropping it for now. |
||
---|---|---|
.. | ||
GNUmakefile.gnustep | ||
gstgleffectbulge.c | ||
gstgleffectfisheye.c | ||
gstgleffectglow.c | ||
gstgleffectidentity.c | ||
gstgleffectlumatocurve.c | ||
gstgleffectlumatocurve.h | ||
gstgleffectmirror.c | ||
gstgleffectrgbtocurve.c | ||
gstgleffectscurves.h | ||
gstgleffectsin.c | ||
gstgleffectsquare.c | ||
gstgleffectsqueeze.c | ||
gstgleffectssources.c | ||
gstgleffectssources.h | ||
gstgleffectstretch.c | ||
gstgleffecttunnel.c | ||
gstgleffecttwirl.c | ||
gstgleffectxray.c |