Logo by DarkBeam - Contribute your own Logo!
News: Visit us on facebook
 
*
Welcome, Guest. Please login or register. September 26, 2017, 11:51:12 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1] 2 3 ... 6   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Mandelbulber - Open Source program for rendering high quality Mandelbulbs  (Read 17941 times)
0 Members and 1 Guest are viewing this topic.
Buddhi
Fractal Iambus
***
Posts: 885



WWW
« on: March 14, 2010, 03:29:47 PM »

I have just released version 0.30 of Mandelbulber program for Linux

Download binary and source:
http://sourceforge.net/projects/mandelbulber/

new features:

    * very easy close-up by just clicking on image
    * added Tglad's "folding" algorithm which modifies all formulas to look like mandelbox
    * added sliders for scrolling image in render window
    * added edit field for changing colour frequency
   
fixed bugs:

    * corrected some spelling mistakes in GUI

other changes:

    * changing image scale in render window is possible during rendering
    * fake ambient occlusion is blocked in formulas other than trigonometric
    * source code was little cleaned up
    * all settings files was rebuilded
Logged

Buddhi
Fractal Iambus
***
Posts: 885



WWW
« Reply #1 on: March 15, 2010, 06:23:07 PM »

Makemeunse has prepared binaries for Widows 32bit version of Mandelbulber 0.30. All files are available for download on SourceForge.net
http://sourceforge.net/projects/mandelbulber/
Logged

itisnt
Guest
« Reply #2 on: April 03, 2010, 09:04:49 PM »

Hi

First of all, thanks a lot for making this program open-source !!

Now, while playing arount with version 0.30, i think i've found some kind of a bug.
If you use one of the three "tglad ..." parameter files from the "settings" directory, the program crashes after rendering an image:

*** glibc detected *** ./mandelbulber: double free or corruption (out): 0xb6de03d8 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb6d08ff1]
/lib/tls/i686/cmov/libc.so.6[0xb6d0a6f2]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0xb6d0d7cd]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb6ef96f1]
./mandelbulber[0x804bb9c]
....................

The main reason for the crash is the missing "background3.jpg" file in the "texture" directory. If you edit the settings file and change "background3.jpg" to "background.jpg", everything is ok, and the program does not crash.

But what's behind the crash. After playing around with the GDB, if found that it crashes in the following routine in "texture.cpp":

//destructor
cTexture::~cTexture(void)
{
        delete bitmap;
}

So, i think the real reason for the crash is because the "bitmap" struct is never used because of the missing JPEG File in the constructor "cTexture::cTexture(char *filename)"

Sorry, when i'am wrong, but my C++ Knowledge is not so good, i live more in the C - World.

Solution:
- Exit the program when there is wrong path to a texture
- Only "delete bitmap" when bitmap is realy used (don't know how to do that)

EDIT:

Sorry, i forgot to mention my environment:
- Ubuntu 9.10 on a Intel I7-860 with NVIDIA GTX 280

Regards,

Daniel
« Last Edit: April 03, 2010, 09:06:37 PM by itisnt » Logged
makc
Strange Attractor
***
Posts: 272



« Reply #3 on: April 03, 2010, 09:08:59 PM »

- Only "delete bitmap" when bitmap is realy used (don't know how to do that)
if (bitmap != NULL) delete bitmap; bitmap = NULL;
Logged
itisnt
Guest
« Reply #4 on: April 03, 2010, 09:25:19 PM »

hehe, was also my first idea, but does not work. This is my actual version:

//destructor
cTexture::~cTexture(void)
{
        printf( "File == %s Line = %ld\n", __FILE__,   ( long )__LINE__ );
        if (bitmap != NULL ) delete bitmap;
        bitmap = NULL;
}

Don't know if it's because "bitmap" is a struct:

struct sRGB8
{
        unsigned char R;
        unsigned char G;
        unsigned char B;
};


Logged
makc
Strange Attractor
***
Posts: 272



« Reply #5 on: April 04, 2010, 01:11:34 AM »

hehe, was also my first idea, but does not work.
Probably because bitmap is not set to NULL in constructor.
Logged
itisnt
Guest
« Reply #6 on: April 04, 2010, 01:27:55 AM »

Ups, that's it, if there is no texture file, the "bitmap" struct is not even created...

Fix:
--- /data/download/mandelbulber0.30/src/texture.cpp   2010-02-26 20:20:14.000000000 +0100
+++ ./texture.cpp   2010-04-04 01:20:00.000000000 +0200
@@ -40,6 +40,7 @@
    else
    {
       printf("Cant load texture: %s\n",filename);
+      bitmap = NULL;
    }
 }

Thanks makc
Logged
Buddhi
Fractal Iambus
***
Posts: 885



WWW
« Reply #7 on: April 05, 2010, 02:50:19 PM »

Thank you for information about bug. I have known about this problem. Program hasn't got error handling for missing textures (or other files). I will use your suggestions and add additional conditions for situations when some file is not loaded. I will also add some error pop-up windows.
Logged

Buddhi
Fractal Iambus
***
Posts: 885



WWW
« Reply #8 on: April 07, 2010, 10:40:55 PM »

I have just released version 0.40 of Mandelbulber program for Linux

Download binary and source:
http://sourceforge.net/projects/mandelbulber/

New features:

- flight speed is adjustable during record mode by mouse clicking (left/right button)
- flight path record can be continued from last position stored in path file ("Continue recording" button)
- each shading effect is rendered into separate layer (higher memory consumption but possible post-processing)
- all shaders can be adjusted after finishing rendering
- added "Save image as..." button for saving image after final adjustments
- added post rendering effect based on z-buffer: fog
- added post rendering effect based on z-buffer: screen space ambient occlusion
- added "Post effects" tab in GUI
- added analytic distance estimation for Tglad's Mandelbox formula (faster rendering)
- added analytic distance estimation for Menger Sponge formula (faster rendering)

Fixed bugs:

- fixed bug in memory allocation for colour palette
- added error handling for missing textures (error messages)
Logged

cbuchner1
Fractal Phenom
******
Posts: 443


« Reply #9 on: April 10, 2010, 09:18:51 PM »

I have just released version 0.40 of Mandelbulber program for Linux

I guess I am kind of late to join this wonderful party. I just downloaded the win32 0.30 version (and source code). One thing that puzzles me is that there is no License.txt file attached to this project at all. What does this mean for third party modifications?

The reason is that I would like to try accelerating this with CUDA, however I do not know under which conditions such a "fork" could be republished, if at all (In case I start modifying it, I would be using the Linux 0.40 version)

Anyway, thanks a lot for publishing this open source. This seems to be one of the most advanced dedicated 3D fractal renders out there.

Christian

« Last Edit: April 10, 2010, 09:22:33 PM by cbuchner1 » Logged
Buddhi
Fractal Iambus
***
Posts: 885



WWW
« Reply #10 on: April 10, 2010, 10:00:02 PM »

One thing that puzzles me is that there is no License attached to this project at all. What does this mean for third party modifications?
The reason is that I would like to try accelerating this with CUDA, however I do not know under which conditions such a "fork" could be republished, if at all (In case I start modifying it, I would be using the Linux 0.40 version)

Program is published with GNU GPL and uses components with the same licence (GTK+, JPEGlib, etc...). Of course you can modify the program but if you want to release your program you also have to use GNU GPL licence and publish source code.
Now this program is completely GPU unfriendly but it will be very nice to accelerate it.
Logged

cbuchner1
Fractal Phenom
******
Posts: 443


« Reply #11 on: April 11, 2010, 07:34:41 PM »

Program is published with GNU GPL and uses components with the same licence (GTK+, JPEGlib, etc...). Of course you can modify the program but if you want to release your program you also have to use GNU GPL licence and publish source code.
Now this program is completely GPU unfriendly but it will be very nice to accelerate it.

GTK+ is actually under GNU LGPL 2.1 and libjpeg has a BSD style license. Nevertheless I respect your decision to release mandelbulber as GPL'ed software. Your software may not yet be GPU friendly yet, but is definitely GNU friendly wink

It would be better to actually bundle a copy of the GPL license text with the distribution, just to avoid any confusion.

One of the biggest issues I am facing in the conversion is the limited floating point precision of most consumer GPUs. Your source code is very nice (apart from some non-english comments that are difficult to parse for me) and it has few dependencies other than GTK+ and libjpeg. Great! I was able to wrap this into a newly created kdevelop IDE project in just 20 minutes (I am very familiar kdevelop because we use it a lot at my workplace).

By the way I have some left over nVidia 9600 GSO graphics cards with 396MB RAM, PCI Express. Want one (for free)? They have about 400 GFlops peak performance each and they do support CUDA (and OpenCL). Consider it a donation for this wonderful software. All I need is your mailing address.

Christian
« Last Edit: April 11, 2010, 09:38:04 PM by cbuchner1 » Logged
Buddhi
Fractal Iambus
***
Posts: 885



WWW
« Reply #12 on: April 13, 2010, 07:35:48 PM »

I have just released version 0.41 of Mandelbulber program for Linux

Download binary and source:
http://sourceforge.net/projects/mandelbulber/

New features:

- added high quality Depth Of Field effect
- improved coloring method for Mandelbulbs
- slider for fog visibility changed to logarithmic scale
- added information on progress bar about rendering post effects
- stop button is able to terminate rendering post effects
- added "About..." tab in GUI

Fixed bugs:

- fixed problem with g_thread initialization on some systems
Logged

cbuchner1
Fractal Phenom
******
Posts: 443


« Reply #13 on: April 13, 2010, 11:34:11 PM »

I have just released version 0.41 of Mandelbulber program for Linux

On my OpenSuSE 11.1, this version hangs and becomes unresponsive after opening its GUI.
I tried your binary, as well as a recompiled binary.

Before that I had installed the 0.40 version.

I made sure the entire $HOME/.mandelbulber folder was updated with the version from
your new .tar.gz file

Is there anything else I should try?
Logged
Buddhi
Fractal Iambus
***
Posts: 885



WWW
« Reply #14 on: April 14, 2010, 05:54:51 PM »

On my OpenSuSE 11.1, this version hangs and becomes unresponsive after opening its GUI.
I tried your binary, as well as a recompiled binary.

Before that I had installed the 0.40 version.

I made sure the entire $HOME/.mandelbulber folder was updated with the version from
your new .tar.gz file

Unfortunately there was fatal bug in post-render fog effect. Program tried to refresh this effect during initialisation of GUI when default settings file has another fog parameters than default for GUI. I have fixed this bug. Now program should run properly - I tested it on clean system. Unfortunately I didn't found this bug before because I tested it on my computer and I had little another default setting file.

Please download the newest version from:
http://sourceforge.net/projects/mandelbulber/

Logged

Pages: [1] 2 3 ... 6   Go Down
  Print  
 
Jump to:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.606 seconds with 28 queries. (Pretty URLs adds 0.029s, 2q)