> In terms of applying traditional per-pixel manipulations - can you be > more specific in possibly which and how? As much as you can tell.
It's been a long time since I've done post-processing on an array of bytes (mode 13h, anyone?), but the basic idea is this: 1. Start at the beginning of the array. 2. Scan left to right, top to bottom. 3. With each pixel, calculate it's new color based on it's current color and the color of it's neighbors to the left, right, above and below. 4. Write the new pixel value into a new buffer. 5. Repeat. This basic approach manifests itself as the generic "convolution filter" where you supply a grid of values (3x3, 4x4, 5x5, etc.) where each value is multiplied and/or added (scale and shift) and then combined (summed, averaged, min, max) to get the final pixel. Wikipedia should be able to fill in some details. As far as specific formulas... look for some classic graphics programming books, mostly from the 80's or early 90's when this stuff was done in software and not hardware (though if you really want, some modern pixel shader stuff is applicable though it may be a bit heavy). Troy.