protected unsafe override void RenderLine (ISurface src, ISurface dest, Rectangle roi)
{
bac_adjustment.Render (src, dest, roi);
blur_effect.Render (src, dest, roi);
invert_effect.Render (dest, dest, roi);
desaturate_op.Apply (dest, dest, roi);
for (int y = roi.Top; y <= roi.Bottom; ++y) {
var srcPtr = src.GetPointAddress (roi.X, y);
var dstPtr = dest.GetPointAddress (roi.X, y);
for (int x = roi.Left; x <= roi.Right; ++x) {
var srcGrey = desaturate_op.Apply (*srcPtr);
var sketched = color_dodge_op.Apply (srcGrey, *dstPtr);
*dstPtr = sketched;
++srcPtr;
++dstPtr;
}
}
}
#endregion