Yay!
Don't ask me what exactly changed since the previous non-working try ... but it has been compiled now!
Awesome! Nice image too
First had to upgrade my nvidia drivers to get opengl working, but now the program is running. Navigating through not-so-deep location works great, but further down I notice a lag. While the new location is calculated, the program appears to do nothing. It would be nice to have to kind of visual indication of the progress (showing pixels as they are calculated, perhaps even some low-res pre-renders, or a plain old progress bar).
The lack of progress indication is a bit annoying indeed, but it's related to the way mightymandel works. It doesn't have a fixed iteration limit, so it just keeps going (iterating all the pixels in parallel) until at least 1 pixel escaped, and the rate of escapes is low. This means that it'll never finish if the whole view is interior, though I do have some ideas how to check that before starting the render. Here's the details of how it decides it is finished:
https://gitorious.org/maximus/mightymandel/source/cc2e0f9ed93e3d48adb86872638fba18c43f4e73:src/render.c#L148http://code.mathr.co.uk/mightymandel/blob/cc2e0f9ed93e3d48adb86872638fba18c43f4e73:/src/render.c#l148and if you notice line 163 there's a (currently disabled) printout of various statistics - problem is there is no rate limiting so it's quite a flood that slows down the rendering. I plan to fix the rate limiting issue soon - probably by making the new (unreleased so far) --verbose debug option print everything and the --verbose info option (default log level) print a summary every second or so if it changed).
In the current version I have on my laptop (away for xmas), I refactored a lot of stuff (mostly boring internals, but once I've got this awkward stuff finished I should be able to work on all the fun parts more productively, and maybe other people will be able to understand wtf is going on too - too much shared mutable global state and undocumented invariants at the moment. Reluctant to even push it to gitorious because I have no way of telling if I broke FP64 rendering or so...
Maybe this won't be an issue when I go out and buy a new GPU card (currently using a Asus GeForce GT 610 ...)
I'm developing on a Geforce G550Ti (except right now I'm on a laptop with G105M, so I can't test much), so yours should be faster than mine already!
In some situations the program can't handle the glitches and says "failed to find reference". I can reproduce this error by first zooming into sparse areas, then some zooms down to a mini, and finally pointing at "empty" space somewhere around the center.
Yes Adam already sent me a test case location, it's really annoying. The glitch correction is pretty abysmal at the moment, that's my main priority to fix once I get the code into a normal program style (main loop) instead of callback hell.
A bit for navigation, but more for the renders, I would like to have a rotate function and a adjustable zoom-box. This way we can shoot places to render in the virtual fractal world, just as a photographer would do with the real world.
Weirdly there is an 'angle' defined somewhere in the code, I think I started implementing it and never finished, or it bitrotted, so I don't think it does anything, and it's not exposed via any user interface. This was mainly intended for rendering series of related minibrots, scaled and rotated so that all the minibrots match up but the hairs are all different.
I did something similar with aligning embedded Julia sets in this video:
https://archive.org/details/hairy_julias_2013-06-18Claude, thank you very much for sharing this new toy!
You're welcome!