I just read this very interresting article on Sgt. Conker on HLSL (High Level Shader Language). It’s a beginner article, but it explains very well how shaders work, and how they came to be! I can strongly recommend this article to people new to XNA and/or shaders!
Sorry… I can’t show you the mosaic since it contains 100% private pictures. Maybe I’ll go download a couple of hundred pictures from Flickr and show you! I just don’t have the time right now.
Anyways, I quickly spottet a small “error” with my algorithm. Lets say you have a source image of a clear sky. After you divide the image into a grid, and scan the cells, it’s more than likely that the average color of all the cells will be the same.
First approach is to index all my photos (20.000+) to determine image resolution and average color value.
Before the average color value is calculated, the image is re sized to a width of about 50 pixels. Aspect ratio is maintained. This will improve scanning speed, as fewer pixels will be scanned, and also improve color correctness as only the visible pixels will be calculated. Once this process is done, the image is stored in a SQL Compact server database (filename, width, height, colorvalue).
I have been exploring the world of photo mosaics (see Wikipedia article), and it’s quite fascinating!