An attempt at explaining The Eagle View Graphics filter from my own dim memories:
First of all, I think I got all this info from the official home page around 1999 which seems to have been abandoned and closed nowdays (2007.) Eagle is an algorithm to scale images, primarily pixel art from old games to modern screen sizes. The problem with the oldest algorithm is that it gets very jagged and blocky. Eagle view tries to solve this while at the same time not be to processor intensive.
Now days CPU power isn't an issue so other more advanced algorithms like 2xSaI
and Super 2xSaI
(a combination of the Eagle and 2xSaI
algorithm) are more commonly used. On a sidenote, 2xSaI
is said to have been inspired by the Eagle algorithm.
One pretty unknown fact about Eagle is that it always scales the image two times the original size in all directions, want it bigger? apply it twice (or use some other scaling algorithm afterwords, like 2xSaI
This is not how it is implemented, its not even a very good way to implement it, but this is how I think about it.
For every in pixel we will generate 4 out pixels, first, set all 4 to the colour of the in pixel we are currently scaling (like the god'ol nearest neighbor), next lets look at the pixels up and to the left, if they are the same colour as each other set the top right most pixel to that colour, continue doing the same for all four pixels, and then move to the next one. While that might seem a bit obscure it is really not that hard, let me show you a diagram:
Assume an in-matrix of 3x3 pixels where the center most pixel is the "current" pixel to be scaled, and an out matrix of 2x2 pixels (that is "this pixel after scaling")
. . . --\ CC |S T U --\ 1 2
. C . --/ CC |V C W --/ 3 4
. . . |X Y Z
| IF V==S==T => 1=S
| IF T==U==W => 2=U
| IF V==X==Y => 3=X
| IF W==Z==Y => 4=Z
Thus if we have a black pixel on a white background it will vanish. This is a bug in the Eagle algorithm, but is solved by its successors such as 2xSaI