Buddhi
|
|
« 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
|
|
|
|
|
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
|
|
« 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
|
|
« 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
|
|
« 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
|
|
« 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
|
|
« 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 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
|
|
« 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
|
|
« 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
|
|
« 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
|
|
|
|
|