Logo by wmauzey - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Follow us on Twitter
 
*
Welcome, Guest. Please login or register. April 19, 2024, 02:19:20 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   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 1.20  (Read 5062 times)
0 Members and 1 Guest are viewing this topic.
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« on: December 28, 2013, 09:34:31 AM »

Mandelbulber 1.20

Open source program (GNU GPL) for rendering photo-realistic 3D fractals
Free download (executables and source): http://sourceforge.net/projects/mandelbulber/
Website:       http://www.mandelbulber.com/
User manual: http://wiki.mandelbulber.com/index.php?title=User_Manual

New features in version 1.20:

- OpenCL - added NoDE rendering engine
- OpenCL - added "limits" feature to rendering engine
- OpenCL - added "interior mode"
- OpecCL - added primitive objects
- OpenCL - next trial to fix the problem with -I option for OpenCL compiler (spaces in path were not passed properly). I hope this time it is permanent fix. There is used completely different method to pass include path.
- OpenCL - added setting for delta for deltaDE algorythm
- added HUD for flight path recording
- simplified code and corrected for "limits" and "interior mode"
- fixed bug: NetRender didn't worked under Windows 7 and Windows Vista. Now connection is limited to IPv4 and works properly.
- fixed problem with visibility of 3D cursor during flight path recording
- fixed resource leaks

Example of primitive object - water, used with Monte Carlo DOF


Example of "limits" and "interior mode"


SVN repository: http://mandelbulber.googlecode.com/svn/trunk/
This repository is available from Google Code: http://code.google.com/p/mandelbulber/
Logged

mclarekin
Fractal Senior
******
Posts: 1739



« Reply #1 on: December 29, 2013, 12:05:22 AM »

Thanks Buddhi, openCL now runs on my CPU Intel i3 2.13 MHz

For attached example:
Not openCL 39sec,
openCL Full: all shaders 22 sec,
openCL Normal 5 sec (wow)
openCL fast 4 sec compared to 13 sec without openCL

Some minor to major colouring differences

Runs on AMD platform but not on Intel platform (error -11),
OpenCL  Build log:   Compilation started
:318:10: error: cannot combine with previous 'type-name' declaration specifier
:318:15: error: expected identifier or '('
:319:8: error: expected identifier or '('
:320:32: error: expected expression
Compilation failed

whereas all CL CPU demos on Geeks 3D GPU Caps Viewer 1.19 work on the Intel platform, but this is all way beyond my limited knowledge ( I do note there are differences with the openCL extensions between the two platforms)

Lots of crashes with hybrids but oops just read post on hybrids

overall its great when it works. I suspect that when I upgrade my laptop and can use the GPU I may not have any problems.

Thanks again.





* openCL trial 1.jpg (198.78 KB, 900x452 - viewed 430 times.)
« Last Edit: December 29, 2013, 07:22:20 AM by mclarekin, Reason: read to use custom formulas instead of hybrids » Logged
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #2 on: December 30, 2013, 11:42:04 AM »

I was wondering if anyone can replicate the attached images. One was rendered without openCL the other using openCL Full mode, device type CPU. I found it interesting and a bit weird with my limited understanding



Mandelbulber 1.2;

image_height 800;

view_point_x 1.7579275248484949;

view_point_y -1.9210011098291331;

view_point_z -1.910784442376507;

angle_alfa -168.08092566700719;

angle_beta 14.19831608970291;

angle_gamma -37.64007796152945;

zoom 1.0000000000000001e-015;

perspective 1.2;

formula 8;

fractal_constant_factor 0.88;

brightness 0.80000000000000004;

ambient_occlusion 2;

ambient_occlusion_quality 3;

glow_intensity 0.10000000000000001;

glow_color_1_R 65535;

glow_color_1_G 1935;

glow_color_1_B 0;

glow_color_2_R 64715;

glow_color_2_G 65535;

glow_color_2_B 0;

background_color_1_G 30069;

background_color_2_R 0;

background_color_2_G 30069;

background_color_3_G 30069;

background_color_3_B 65535;

fog_colour_2_G 30069;

background_color_1_G 30069;

ambient_occlusion_enabled 1;

fast_ambient_occlusion_mode 1;

coloring_random_seed 291327;

coloring_palette_offset 137.30000000000001;

post_SSAO_enabled 0;

post_DOF_focus 129.8140237940022;

post_DOF_radius 10.4;

mandelbox_scale -1.5;

mandelbox_folding_min_radius 0.40999999999999998;

mandelbox_folding_fixed_radius 1.03;

mandelbox_rotation_main_alfa 12.000000000000002;

mandelbox_rotation_main_beta 6.0000000000000009;

mandelbox_rotation_main_gamma 2;

mandelbox_color_Sp1 3;

mandelbox_color_Sp2 1;


* openCL trial2.jpg (239.72 KB, 900x452 - viewed 366 times.)
Logged
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #3 on: December 30, 2013, 02:44:16 PM »

Thanks for reporting this problem. You were right. There is a difference which should't be. OpenCL code uses fixed_radius parameter in wrong way.
In OCL code for mandelbox there is:

Code:
		if (rr < mr2)	m = native_divide(scale, mr2);
else if (rr < fr2) m = native_divide(scale,rr);

should be:
Code:
		if (rr < mr2)	m *= native_divide(fr2, mr2);
else if (rr < fr2) m *= native_divide(fr2, rr);

P.S. Next time when you paste parameters use [ code ]  [ /code ]  (# button in editor menu) or attach it as a text file.
Logged

mclarekin
Fractal Senior
******
Posts: 1739



« Reply #4 on: December 31, 2013, 08:04:09 AM »

Thanks for showing the corrected code. It gave me enough confidence to update the cl files myself smiley rather than waiting for the next version release.  A Beer Cup A Beer Cup

Another thought, if Custom Formulas Example 1 is based on the Mandelbox, should it also have m *= native_divide(fr2, mr2) and m *= native_divide(fr2,rr) in the code?
« Last Edit: December 31, 2013, 09:25:23 AM by mclarekin, Reason: another thought added » Logged
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #5 on: December 31, 2013, 10:29:36 AM »

Another thought, if Custom Formulas Example 1 is based on the Mandelbox, should it also have m *= native_divide(fr2, mr2) and m *= native_divide(fr2,rr) in the code?
In every OpenCL script is the same mistake
Logged

Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #6 on: January 01, 2014, 07:00:47 PM »

Thanks to quaz0r, now there is also Mandelbulber-OpenCL 1.20 for Windows 64-bit. Download from here: https://sourceforge.net/projects/mandelbulber/files/Mandelbulber%2064-bit%20OpenCL-1.20-Setup.exe/download
Logged

R-TEAM
Forums Freshman
**
Posts: 12


« Reply #7 on: January 02, 2014, 02:23:17 AM »

Hi,

now on my CPU on both systems OpenCL runs .... but not on the GPU ... (on both systems)
Have DL the 64 bit version ... Error:
Code:
  ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(335): error: identifier
          "float3" is undefined
        float3 shadow = 1.0f;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(338): error: identifier
          "float3" is undefined
        float3 point2;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(418): error: identifier
          "float3" is undefined
  float3 MainSpecular(sClShaderInputData *input)
  ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(420): error: identifier
          "float3" is undefined
        float3 specular;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(421): error: identifier
          "float3" is undefined
        float3 half = input->lightVect - input->viewVector;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(431): error: identifier
          "float3" is undefined
  float3 SurfaceColour(__constant sClInConstants *consts, sClShaderInputData *in
put, global cl_float3 *palette)
  ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(433): error: identifier
          "float3" is undefined
        float3 surfaceColour = 0.0f;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(480): error: identifier
          "float3" is undefined
  float3 FastAmbientOcclusion2(__constant sClInConstants *consts, sClShaderInput
Data *input)
  ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(491): error: identifier
          "float3" is undefined
                float3 pointTemp = input->point + input->normal * scan;
                ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(497): error: identifier
          "float3" is undefined
        float3 output = ao;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(770): error: identifier
          "float3" is undefined
  float3 ObjectShader(__constant sClInConstants *consts, sClShaderInputData *inp
ut, float3 *specularOut, global sClInBuff *inBuff)
  ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(770): error: identifier
          "float3" is undefined
  float3 ObjectShader(__constant sClInConstants *consts, sClShaderInputData *inp
ut, float3 *specularOut, global sClInBuff *inBuff)

    ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(772): error: identifier
          "float3" is undefined
        float3 output;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(775): error: identifier
          "float3" is undefined
        float3 vn = CalculateNormals(consts, input);
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(776): error: write to < 32
          bits via pointer not allowed unless cl_khr_byte_addressable_store is
          enabled
        input->normal = vn;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(778): error: identifier
          "float3" is undefined
        float3 mainLight = consts->params.mainLightIntensity * consts->params.ma
inLightColour;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(784): error: identifier
          "float3" is undefined
        float3 shade = shadeTemp;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(787): error: identifier
          "float3" is undefined
        float3 shadow = 1.0f;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(791): error: identifier
          "float3" is undefined
        float3 specular = MainSpecular(input) * consts->params.specularIntensity
;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(794): error: identifier
          "float3" is undefined
        float3 colour = SurfaceColour(consts, input, inBuff->palette);
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(797): error: identifier
          "float3" is undefined
        float3 ambient = 0.0f;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(808): error: identifier
          "float3" is undefined
        float3 ambient2 = ambient * consts->params.ambientOcclusionIntensity;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(811): error: identifier
          "float3" is undefined
        float3 auxLights = 0.0f;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(812): error: identifier
          "float3" is undefined
        float3 auxLightsSpecular = 0.0f;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(818): error: identifier
          "float3" is undefined
        float3 fakeLights = 0.0f;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(819): error: identifier
          "float3" is undefined
        float3 fakeLightsSpecular = 0.0f;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(829): error: identifier
          "float3" is undefined
  float3 BackgroundShader(__constant sClInConstants *consts, sClShaderInputData
*input)
  ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(831): error: identifier
          "float3" is undefined
        float3 vector = { 0.0f, 0.0f, -1.0f };
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(834): error: identifier
          "float3" is undefined
        float3 colour;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(849): error: identifier
          "float3" is undefined
  float3 VolumetricShader(__constant sClInConstants *consts, sClShaderInputData
*input, global sClInBuff *inBuff, float3 oldPixel)
  ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(849): error: identifier
          "float3" is undefined
  float3 VolumetricShader(__constant sClInConstants *consts, sClShaderInputData
*input, global sClInBuff *inBuff, float3 oldPixel)

                                  ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(851): error: identifier
          "float3" is undefined
        float3 output = oldPixel;
        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(863): error: identifier
          "float3" is undefined
    float3 glowColour = (consts->params.glowColour1 * glowN + consts->params.glo
wColour2 * glow);
    ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(888): error: identifier
          "float3" is undefined
                float3 point = input->startPoint + input->viewVector * scan;
                ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(889): error: write to < 32
          bits via pointer not allowed unless cl_khr_byte_addressable_store is
          enabled
                input->point = point;
                ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(923): error: identifier
          "float3" is undefined
                                        float3 lightDistVect = point - inBuff->l
ights[i].position;
                                        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(952): error: identifier
          "float3" is undefined
                                float3 point2 = point + input->viewVector * step
2 * smallStep;
                                ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(958): error: identifier
          "float3" is undefined
                                                float3 lightDistVect = point2 -
inBuff->lights[i].position;
                                                ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(990): error: identifier
          "float3" is undefined
                                float3 shadowOutputTemp = MainShadow(consts, inp
ut);
                                ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1032): error: identifier
          "float3" is undefined
                        float3 fogTemp = (consts->params.fogColour1 * kn + const
s->params.fogColour2 * k);
                        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1052): error: identifier
          "float3" is undefined
                        float3 newColour = 0.0f;
                        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1061): error: identifier
          "float3" is undefined
                                float3 fogCol = (consts->params.fogColour1 * kn
+ consts->params.fogColour2 * k);
                                ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1078): error: identifier
          "float3" is undefined
                                                        float3 shadowOutputTemp
= MainShadow(consts, input);
                                                        ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1151): error: identifier
          "float3" is undefined
                const float3 one = (float3) {1.0f, 0.0f, 0.0f};
                      ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1151): error: identifier
          "float3" is undefined
                const float3 one = (float3) {1.0f, 0.0f, 0.0f};
                                    ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1151): error: expected a
          ";"
                const float3 one = (float3) {1.0f, 0.0f, 0.0f};
                                            ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1152): error: "float3" is
          not a type name
                const float3 ones = 1.0f;
                      ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1155): error: write to <
          32 bits via pointer not allowed unless cl_khr_byte_addressable_store
          is enabled
                rot.m1 = (float3){1.0f, 0.0f, 0.0f};
                ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1155): error: expected a
          ";"
                rot.m1 = (float3){1.0f, 0.0f, 0.0f};
                                 ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1156): error: write to <
          32 bits via pointer not allowed unless cl_khr_byte_addressable_store
          is enabled
                rot.m2 = (float3){0.0f, 1.0f, 0.0f};
                ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1156): error: expected a
          ";"
                rot.m2 = (float3){0.0f, 1.0f, 0.0f};
                                 ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1157): error: write to <
          32 bits via pointer not allowed unless cl_khr_byte_addressable_store
          is enabled
                rot.m3 = (float3){0.0f, 0.0f, 1.0f};
                ^

C:\Users\xxx~1\AppData\Local\Temp\OCL4329.tmp.cl(1157): error: expected a
          ";"
                rot.m3 = (float3){0.0f, 0.0f, 1.0f};
                                 ^

Error limit reached.
100 errors detected in the compilation of "C:\Users\xxx~1\AppData\Local\Temp\
OCL4329.tmp.cl".
Compilation terminated.

Internal error: clc compiler invocation failed.

ERROR: Program::build() (-11)

Regards
R-TEAM
Logged
hobold
Fractal Bachius
*
Posts: 573


« Reply #8 on: January 02, 2014, 02:37:48 AM »

OpenCL 1.0 did not support "float3" type. That was added in version 1.1 later. Can you find out the OpenCL version that your GPU (or the device driver, respectively) supports?
Logged
R-TEAM
Forums Freshman
**
Posts: 12


« Reply #9 on: January 02, 2014, 03:06:21 AM »

Hi,

OpenCL1.0

Regards
R-TEAM
Logged
KBeezie
Alien
***
Posts: 28


« Reply #10 on: January 02, 2014, 09:22:16 AM »

Can't seem to get the ATI card selected when I enable OpenCL, no matter what I set for Platform/Device it keeps selecting the primary Nvidia card and resetting Platform/Device to 1/0. Was working in 1.9.

Edit: Seems to do it if I do 0/0 (didn't think zero was a possible option for platform since 1 was default)
« Last Edit: January 02, 2014, 09:24:20 AM by KBeezie » Logged
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #11 on: January 02, 2014, 09:42:34 AM »

@ quaz0r. A big thanks as always. 64bit is considerably faster. A Beer Cup A Beer Cup

@ Hobold. Thanks for pointing me in the right direction. I now see that even though the platform is 1.2, my GPU device can only handle 1.0. A Beer Cup A Beer Cup
Logged
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #12 on: January 02, 2014, 09:44:17 AM »

Can't seem to get the ATI card selected when I enable OpenCL, no matter what I set for Platform/Device it keeps selecting the primary Nvidia card and resetting Platform/Device to 1/0. Was working in 1.9.

Edit: Seems to do it if I do 0/0 (didn't think zero was a possible option for platform since 1 was default)

Platform #1 was last saved value (default is 0). You must set it before (e.g. when you used 1.19). Program saves setting when application is closed, so for you default was 1  grin
Logged

Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #13 on: January 02, 2014, 09:49:15 AM »

@ Hobold. Thanks for pointing me in the right direction. I now see that even though the platform is 1.2, my GPU device can only handle 1.0. A Beer Cup A Beer Cup

If it looks like your GFX card doesn't support OpenCL 1.1, try to upgrade drivers. Sometimes it is not a matter of card but software. It is worth to try.
Logged

R-TEAM
Forums Freshman
**
Posts: 12


« Reply #14 on: January 02, 2014, 05:59:36 PM »

Hi,

Hint -> it would be nice to pointing , that the GPU musst handle OpenCL V1.1 or higher at last ....(if this not changed)

So bug reports/errors that come from this side can be closed smiley

Regards
R-TEAM
Logged
Pages: [1] 2   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Mandelbulber 0.80 Mandelbulber Buddhi 5 8228 Last post June 27, 2010, 05:30:54 PM
by knighty
Mandelbulber 0.85 Mandelbulber Buddhi 6 4992 Last post July 25, 2010, 10:00:13 PM
by kram1032
Mandelbulber 0.93 Mandelbulber Buddhi 12 6364 Last post October 17, 2010, 03:19:15 PM
by Buddhi
mandelbulber Help & Support ramblerette 1 1046 Last post October 18, 2010, 02:56:02 PM
by ramblerette
Mandelbulber 0.94 Mandelbulber « 1 2 » Buddhi 15 10586 Last post October 24, 2010, 09:36:01 AM
by Buddhi

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.375 seconds with 29 queries. (Pretty URLs adds 0.013s, 2q)