Welcome to Fractal Forums

Fractal Software => Announcements & News => Topic started by: ker2x on September 01, 2013, 08:58:06 PM




Title: WinBuddha v0.1
Post by: ker2x on September 01, 2013, 08:58:06 PM
I finally packaged a windows version of buddha++ that was developped by emilio and me.
It is an easy to use (and hopefully fast) multithread buddhabroth generator in Qt/C++.


There is a huge bug with the mouse, you currently can't zoom correctly with the mouse.
But the keyboard is ok :
arrow to navigate, + and - to zoom.

URL : http://fractals.s3.amazonaws.com/winbuddha/winbuddha-v0.1.zip
Uglyfied source code here : https://github.com/ker2x/buddha

Please report bug, other than the mouse bug :)


Title: Re: WinBuddha v0.1
Post by: ker2x on September 02, 2013, 09:03:12 AM
(http://img.over-blog-kiwi.com/0/63/89/15/201309/ob_510838f7c90c8a41956733c78281e61e_hop3.png)


Title: Re: WinBuddha v0.1
Post by: knighty on September 02, 2013, 05:56:36 PM
Great app! Thank you very much ker2x. Yesterday, I was trying to compile the github version without success.
 :wow: :thanks2:


Title: Re: WinBuddha v0.1
Post by: ker2x on September 02, 2013, 06:25:46 PM
Yes, we always had trouble to make it run correcty on windows.
The original software is more a sandbox than a real software, it include some test with openCL and Boost.
I stripped the original software to something that can be distrbuted without requiring to install a few GB of SDK  :D


Title: Re: WinBuddha v0.1
Post by: lycium on September 02, 2013, 09:38:31 PM
had a little look through the code, found this funny:

Quote
I don't know very much about the teory under this optimization but I think is implemented quite well..
how can a software engineer possibly be so optimistic?!  :o


Title: Re: WinBuddha v0.1
Post by: ker2x on September 02, 2013, 11:58:44 PM
how can a software engineer possibly be so optimistic?!  :o

hehe.
Most of the code is from emilio.
I think there is some comment in Italian too.

I don't know much either about the Metropolis-hasting algorithm.
I think that "quite well" is : good enough to produce the expected result :)

I switched to Visual Studio (but i'm trying to keep the code standard enough so it may be portable)
So i created a new repository : https://github.com/ker2x/WinbuddhaVS/

I cleaned some more code, switched to std::complex, added some optimisation.

Code:
    double cr = begin.real();
    double ci = begin.imag();
    double ci2 = ci*ci;

    //Quick rejection check if c is in 2nd order period bulb
     if( (cr+1.0) * (cr+1.0) + ci2 < 0.0625) return -1;

     //Quick rejection check if c is in main cardioid
     double q = (cr-0.25)*(cr-0.25) + ci2;
     if( q*(q+(cr-0.25)) < 0.25*ci2) return -1;


     // test for the smaller bulb left of the period-2 bulb
     if (( ((cr+1.309)*(cr+1.309)) + ci*ci) < 0.00345) return -1;

     // check for the smaller bulbs on top and bottom of the cardioid
     if ((((cr+0.125)*(cr+0.125)) + (ci-0.744)*(ci-0.744)) < 0.0088) return -1;
     if ((((cr+0.125)*(cr+0.125)) + (ci+0.744)*(ci+0.744)) < 0.0088) return -1;

It very ugly, i did that before switching to std::complex.

Now that i switched to std::complex i can probably use this instead (it's fortran code) :
Code:
IF(((ABS(c - CMPLX(-1,0) )) < 0.25) .OR. ((ABS( 1.0 - SQRT(1-(4*c)) ))  < 1.0 ) ) THEN

I'll try tomorrow.
Good night  :snore:


Title: Re: WinBuddha v0.1
Post by: ker2x on September 03, 2013, 08:11:22 AM
I uploaded a new version : http://fractals.s3.amazonaws.com/winbuddha/winbuddha-v0.2.zip
Actually it should be 0.1.1 because i still have the mouse bug and there is no functionnality change, but there is a lot of code change.

It's compiled with VS2010, please report if the app doesn't run (missing dll?)
Thank you.

Edit : it now require a cpu with SSE2 support