Friday, December 14, 2007

Vliv 2.5.1 handles plugins

The new version of VLIV supports dynamic loading of plugins.

Plugins are easy to write and I provide two samples.
A plugin for BMP, TIF, PPM, PNG and JPEG images is delivered, and now vliv.exe has no knowledge of image formats.

So if you feel that VLIV should know XXX format or that your implementation of YYY format is the best, all you have to do is write a plugin.

Tuesday, December 11, 2007

Vliv 2.5.0 is out

This new version includes a much improved memory manager that allows really huge images to be loaded at very little memory cost.

It also includes a .new sample virtual image loading.

Also included is experimental multi threading support for tile loading.

Saturday, December 8, 2007

The Last Supper 16 gigapixel image

The team from Haltadefinizione has once again created a very detailed image of a large painting, this time it's The Last Supper by Leonardo da Vinci.

While always impressive, I think a limit has been reached, because higher resolution (and thus more gigapixels) would not allow for a better detail, as they have reached the point where at maximum zoom, we can only almost see molecules of paint...

To give an idea, the painting is 880x460 cm while the image is 172181x93611 pixels, so each pixel is only 0.05x0.05 millimeter...

Wednesday, December 5, 2007

Vliv as a fractal viewer

In a previous post, I was talking about dynamically generated tiles.
I have prototyped this and implemented a simple algorithm for generating dynamically tiles, a Newton fractal generator.

The idea is simple, given a point in the complex plane, and a polynomial, apply the Newton method to find out where the point ends. Each starting point eventually converges to one of the roots of the polynomial, that gives the base color. This color is then shaded using the number of iterations it takes to be around the root (there are of course other coloring algorithms, I choose this one because it is really simple to implement). Computation is done at a single tile level.

The beauty of this is that, using VLIV tiling features, the image size is virtually not limited, so viewing an image of size 256000x256000 is possible, and even not slower than a smaller size.

The complete source code for my sample implementation is less than 200 lines of code, most of it beeing my not optimal Newton method implementation.

Here is the result:

Imagine if the idea was implemented in Google Earth (or Maps), using Google storage and computation capabilities, it would make a nice feature...

This Wikipedia page has more information on Newton Fractals.
Simon Tatham has also a very detailed page on this topic.