Welcome to Fractal Forums

Fractal Software => Releases => Topic started by: Buddhi on February 02, 2014, 02:35:00 PM




Title: Mandelbulber 1.21
Post by: Buddhi on February 02, 2014, 02:35:00 PM
Mandelbulber 1.21

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.21:

- Added color palette editor
- Added function to convert flight path into keyframes
- improved water algorithm - less visible pattern
- added setting for water animation speed
- in flight path recording function added switching between using gamma rotation or not (use "Rotate without using gamma angle"). In other words it switches between flight simulator and 2-axis camera rotation.
- in flight path recording function added switching between constant flight speed and based on estimated distance (use "Absolute distance mode")
- added arrows in HUD for flight path recording
- Added low quality SSAO effect during progressive rendering (better looking fast preview)
- optimized binary searching algorithm in RayMarching() function
- OpenCL - added rendering of Screen Space Ambient Occlusion (SSAO) with GPU.
- OpenCL - added rendering of Depth Of Field (DOF) effect with GPU. There is possible to switch between Monte-Carlo DOF (very slow, but realistic) and post-effect DOF (fast)
- OpenCL - improved quality of "fake lights" based on orbit traps (looks better with higher "DE factor")
- OpenCL - implemented textured background
- OpenCL - added alpha channel in "Full" kernel (possible to save image as PNG-16 + Alpha)
- fixed bug: flight path rendering didn't worked properly when rendering was continued from the middle
- fixed bug: eliminated memory leaks in OpenCL rendering functions
- fixed bug: corrected calculation of viewVector and z value for 3-point perspective
- fixed bug: sometimes 3D cursor was jerky. Added temporary disabling for event handler during rendering of cursor

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


Title: Re: Mandelbulber 1.21
Post by: taurus on February 02, 2014, 08:37:56 PM
Fantastic! Thanks Buddhi, that's the one I'm waiting for.

One little thing, I'd like to suggest for the future. Although the "save all layers" button was very useful for creative manipulations, its loss is acceptable. But I really miss the zbuffer for precise seperation of image parts in post production. The alpha channel is no substitute there, as it only seperates fractal from background. Not very useful in my interior shots.
Mabe you can bring back this layer sometime in the future...


Title: Re: Mandelbulber 1.21
Post by: quaz0r on February 02, 2014, 09:22:23 PM
 :beer:


Title: Re: Mandelbulber 1.21
Post by: Buddhi on February 03, 2014, 07:10:11 AM
I have got information about problems with SSAO OpenCL kernel with nVidia. It can't be compiled. I will try to fix it as fast as it is possible.


Title: Re: Mandelbulber 1.21
Post by: lukesleftleg on February 03, 2014, 05:26:46 PM
Unfortunately, I'm on an nvidia GPU so I'll have to wait, but I just wanted to say...

I was going to choose a couple of the new features, and say that I particularly liked the look of them, but actually, every single one of these updates is very welcome.

Anyway, I'm between animations right now so I can wait, but I just wanted to thank you once again for all your hard work. :)


Title: Re: Mandelbulber 1.21
Post by: stereoman on February 03, 2014, 06:56:06 PM
As a great fan of this wonderful software, I can only say, many thanks!


Title: Re: Mandelbulber 1.21
Post by: ellarien on February 03, 2014, 09:04:10 PM
Thank you for a great program, which has kept me enthralled for many hours.

Do you have any idea why the installer terrifies both Windows (8.1) and Norton Internet Security? I've used plenty of other OS programs that didn't ring the alarm bells, and I was initially a bit nervous about installing something that both Norton and Windows were trying to block and delete.

(Also, there seems to be a tiny issue with the display of the background gradient when using a settings file from 1.20 in 1.21 -- one corner of my sky was coming out pink. But tweaking the settings made that go away, so no big deal.)



Title: Re: Mandelbulber 1.21
Post by: mclarekin on February 05, 2014, 08:52:53 AM
 Glad to have alpha channel in Full :beer: :beer: :beer:

Interesting the fragmanterium  post about GPU timeout of 2 seconds for windows, I think that explains why sometimes my driver was resetting when trying to use volumetric light.

thanks for the new version, I look forward to trying it. :) :) :)


Title: Re: Mandelbulber 1.21
Post by: Buddhi on February 05, 2014, 09:47:41 PM
Mandelbulber 1.21-1 is released
http://sourceforge.net/projects/mandelbulber/files/?

changes:
- fixed bug: OpenCL - SSAO kernel generated compiler errors on nVidia
- fixed bug: OpenCL - there was error -54 during rendering of SSAO and DOF (caused by not matched localWorkSize with GlobalWorkSize). Problem more visible on nVidia where there is bigger CL_DEVICE_MAX_WORK_GROUP_SIZE

Many thanks to quaz0r for help in debugging OpenCL code and testing on nVidia. Thanks also for Win64 version.


Title: Re: Mandelbulber 1.21
Post by: mclarekin on February 06, 2014, 12:15:53 AM
Possible bug 1.21-1 64bit? When enabling openCL I get this, however seems to make no difference to my render


Code:
OpenCL Build log:	"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 12: error: identifier
          "float3" is undefined
  typedef float3 cl_float3;
          ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 29: error: identifier
          "float3" is undefined
  float3 z;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 38: error: identifier
          "float3" is undefined
  static formulaOut Fractal(__constant sClInConstants *consts, float3 point, sClCalcParams *calcParam);
                                                               ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 39: error: identifier
          "float3" is undefined
  static formulaOut CalculateDistance(__constant sClInConstants *consts, float3 point, sClCalcParams *calcParam);
                                                                         ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 53: error: identifier
          "float3" is undefined
  float3 Matrix33MulFloat3(matrix33 matrix, float3 vect)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 53: error: identifier
          "float3" is undefined
  float3 Matrix33MulFloat3(matrix33 matrix, float3 vect)
                                            ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 55: error: identifier
          "float3" is undefined
  float3 out;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 82: error: identifier
          "float3" is undefined
  rot.m1 = (float3) {1.0f, 0.0f, 0.0f};
            ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 82: 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\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 82: error: expected a
          ";"
  rot.m1 = (float3) {1.0f, 0.0f, 0.0f};
                    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 83: error: write to <
          32 bits via pointer not allowed unless cl_khr_byte_addressable_store
          is enabled
  rot.m2 = (float3) {0.0f, c   , -s  };
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 83: error: expected a
          ";"
  rot.m2 = (float3) {0.0f, c   , -s  };
                    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 84: error: write to <
          32 bits via pointer not allowed unless cl_khr_byte_addressable_store
          is enabled
  rot.m3 = (float3) {0.0f, s   ,  c  };
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 84: error: expected a
          ";"
  rot.m3 = (float3) {0.0f, s   ,  c  };
                    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 94: error: identifier
          "float3" is undefined
  rot.m1 = (float3) {c   , 0.0f, s   };
            ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 94: error: write to <
          32 bits via pointer not allowed unless cl_khr_byte_addressable_store
          is enabled
  rot.m1 = (float3) {c   , 0.0f, s   };
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 94: error: expected a
          ";"
  rot.m1 = (float3) {c   , 0.0f, s   };
                    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 95: 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\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 95: error: expected a
          ";"
  rot.m2 = (float3) {0.0f, 1.0f, 0.0f};
                    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 96: error: write to <
          32 bits via pointer not allowed unless cl_khr_byte_addressable_store
          is enabled
  rot.m3 = (float3) {-s  , 0.0f, c   };
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 96: error: expected a
          ";"
  rot.m3 = (float3) {-s  , 0.0f, c   };
                    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 106: error:
          identifier "float3" is undefined
  rot.m1 = (float3) { c  , -s  , 0.0f};
            ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 106: error: write to
          < 32 bits via pointer not allowed unless
          cl_khr_byte_addressable_store is enabled
  rot.m1 = (float3) { c  , -s  , 0.0f};
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 106: error: expected
          a ";"
  rot.m1 = (float3) { c  , -s  , 0.0f};
                    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 107: error: write to
          < 32 bits via pointer not allowed unless
          cl_khr_byte_addressable_store is enabled
  rot.m2 = (float3) { s  ,  c  , 0.0f};
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 107: error: expected
          a ";"
  rot.m2 = (float3) { s  ,  c  , 0.0f};
                    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 108: 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\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 108: error: expected
          a ";"
  rot.m3 = (float3) {0.0f, 0.0f, 1.0f};
                    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 131: error:
          identifier "float3" is undefined
  float3 IndexToColour(int index, global float3 *palette)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 131: error:
          identifier "float3" is undefined
  float3 IndexToColour(int index, global float3 *palette)
                                         ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 133: error:
          identifier "float3" is undefined
  float3 colOut, col1, col2, colDiff;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 162: error:
          identifier "float3" is undefined
  float3 CalculateNormals(__constant sClInConstants *consts, sClShaderInputData *input)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 164: error:
          identifier "float3" is undefined
  float3 normal = 0.0f;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 178: error:
          identifier "float3" is undefined
  float3 deltax = (float3) {delta, 0.0f, 0.0f};
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 178: error:
          identifier "float3" is undefined
  float3 deltax = (float3) {delta, 0.0f, 0.0f};
                   ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 178: error: expected
          a ";"
  float3 deltax = (float3) {delta, 0.0f, 0.0f};
                           ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 181: error: expected
          a ";"
  float3 deltay = (float3) {0.0f, delta, 0.0f};
         ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 182: error:
          identifier "deltay" is undefined
  s3 = CalculateDistance(consts, input->point + deltay, input->calcParam).distance;
                                                ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 184: error: expected
          a ";"
  float3 deltaz = (float3) {0.0f, 0.0f, delta};
         ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 185: error:
          identifier "deltaz" is undefined
  s4 = CalculateDistance(consts, input->point + deltaz, input->calcParam).distance;
                                                ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 201: error:
          identifier "float3" is undefined
  float3 point2;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 202: error:
          identifier "float3" is undefined
  float3 point3;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 239: error:
          identifier "float3" is undefined
  float3 RayMarching(__constant sClInConstants *consts, sClCalcParams *calcParam, float3 start, float3 direction, float maxScan, bool binaryEnable, float *distThreshOut, float *lastDistOut, bool *foundOut, float *depthOut, int *stepCount)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 239: error:
          identifier "float3" is undefined
  float3 RayMarching(__constant sClInConstants *consts, sClCalcParams *calcParam, float3 start, float3 direction, float maxScan, bool binaryEnable, float *distThreshOut, float *lastDistOut, bool *foundOut, float *depthOut, int *stepCount)
                                                                                  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 239: error:
          identifier "float3" is undefined
  float3 RayMarching(__constant sClInConstants *consts, sClCalcParams *calcParam, float3 start, float3 direction, float maxScan, bool binaryEnable, float *distThreshOut, float *lastDistOut, bool *foundOut, float *depthOut, int *stepCount)
                                                                                                ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 241: error:
          identifier "float3" is undefined
  float3 point;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 339: error:
          identifier "float3" is undefined
  float3 MainShadow(__constant sClInConstants *consts, sClShaderInputData *input)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 341: error:
          identifier "float3" is undefined
  float3 shadow = 1.0f;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 344: error:
          identifier "float3" is undefined
  float3 point2;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 424: error:
          identifier "float3" is undefined
  float3 MainSpecular(sClShaderInputData *input)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 426: error:
          identifier "float3" is undefined
  float3 specular;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 427: error:
          identifier "float3" is undefined
  float3 half = input->lightVect - input->viewVector;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 437: error:
          identifier "float3" is undefined
  float3 SurfaceColour(__constant sClInConstants *consts, sClShaderInputData *input, global cl_float3 *palette)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 439: error:
          identifier "float3" is undefined
  float3 surfaceColour = 0.0f;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 486: error:
          identifier "float3" is undefined
  float3 FastAmbientOcclusion2(__constant sClInConstants *consts, sClShaderInputData *input)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 497: error:
          identifier "float3" is undefined
  float3 pointTemp = input->point + input->normal * scan;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 503: error:
          identifier "float3" is undefined
  float3 output = ao;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 778: error:
          identifier "float3" is undefined
  float3 ObjectShader(__constant sClInConstants *consts, sClShaderInputData *input, float3 *specularOut, float3 *colourOut, global sClInBuff *inBuff)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 778: error:
          identifier "float3" is undefined
  float3 ObjectShader(__constant sClInConstants *consts, sClShaderInputData *input, float3 *specularOut, float3 *colourOut, global sClInBuff *inBuff)
                                                                                    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 778: error:
          identifier "float3" is undefined
  float3 ObjectShader(__constant sClInConstants *consts, sClShaderInputData *input, float3 *specularOut, float3 *colourOut, global sClInBuff *inBuff)
                                                                                                         ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 780: error:
          identifier "float3" is undefined
  float3 output;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 783: error:
          identifier "float3" is undefined
  float3 vn = CalculateNormals(consts, input);
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 784: error: write to
          < 32 bits via pointer not allowed unless
          cl_khr_byte_addressable_store is enabled
  input->normal = vn;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 786: error:
          identifier "float3" is undefined
  float3 mainLight = consts->params.mainLightIntensity * consts->params.mainLightColour;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 792: error:
          identifier "float3" is undefined
  float3 shade = shadeTemp;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 795: error:
          identifier "float3" is undefined
  float3 shadow = 1.0f;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 799: error:
          identifier "float3" is undefined
  float3 specular = MainSpecular(input) * consts->params.specularIntensity;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 802: error:
          identifier "float3" is undefined
  float3 colour = SurfaceColour(consts, input, inBuff->palette);
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 806: error:
          identifier "float3" is undefined
  float3 ambient = 0.0f;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 817: error:
          identifier "float3" is undefined
  float3 ambient2 = ambient * consts->params.ambientOcclusionIntensity;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 820: error:
          identifier "float3" is undefined
  float3 auxLights = 0.0f;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 821: error:
          identifier "float3" is undefined
  float3 auxLightsSpecular = 0.0f;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 827: error:
          identifier "float3" is undefined
  float3 fakeLights = 0.0f;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 828: error:
          identifier "float3" is undefined
  float3 fakeLightsSpecular = 0.0f;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 834: error: write to
          < 32 bits via pointer not allowed unless
          cl_khr_byte_addressable_store is enabled
  (*specularOut) = mainLight * shadow * specular + auxLightsSpecular + fakeLightsSpecular;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 835: error: write to
          < 32 bits via pointer not allowed unless
          cl_khr_byte_addressable_store is enabled
  (*colourOut) = colour;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 840: error:
          identifier "float3" is undefined
  float3 BackgroundShader(__constant sClInConstants *consts, sClShaderInputData *input, image2d_t imageBackground)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 840: error: image
          types not support for the target hardware
  float3 BackgroundShader(__constant sClInConstants *consts, sClShaderInputData *input, image2d_t imageBackground)
                                                                                                                 ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 842: error:
          identifier "float3" is undefined
  float3 colour;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 854: error:
          identifier "float3" is undefined
  float3 vector = { 0.0f, 0.0f, -1.0f };
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 873: error:
          identifier "float3" is undefined
  float3 VolumetricShader(__constant sClInConstants *consts, sClShaderInputData *input, global sClInBuff *inBuff, float3 oldPixel, float *opacityOut, float *alphaOut)
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 873: error:
          identifier "float3" is undefined
  float3 VolumetricShader(__constant sClInConstants *consts, sClShaderInputData *input, global sClInBuff *inBuff, float3 oldPixel, float *opacityOut, float *alphaOut)
                                                                                                                  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 875: error:
          identifier "float3" is undefined
  float3 output = oldPixel;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 889: error:
          identifier "float3" is undefined
    float3 glowColour = (consts->params.glowColour1 * glowN + consts->params.glowColour2 * glow);
    ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 916: error:
          identifier "float3" is undefined
  float3 point = input->startPoint + input->viewVector * scan;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 917: error: write to
          < 32 bits via pointer not allowed unless
          cl_khr_byte_addressable_store is enabled
  input->point = point;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 951: error:
          identifier "float3" is undefined
  float3 lightDistVect = point - inBuff->lights[i].position;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 980: error:
          identifier "float3" is undefined
  float3 point2 = point + input->viewVector * step2 * smallStep;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 986: error:
          identifier "float3" is undefined
  float3 lightDistVect = point2 - inBuff->lights[i].position;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1021: error:
          identifier "float3" is undefined
  float3 shadowOutputTemp = MainShadow(consts, input);
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1067: error:
          identifier "float3" is undefined
  float3 fogTemp = (consts->params.fogColour1 * kn + consts->params.fogColour2 * k);
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1090: error:
          identifier "float3" is undefined
  float3 newColour = 0.0f;
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1099: error:
          identifier "float3" is undefined
  float3 fogCol = (consts->params.fogColour1 * kn + consts->params.fogColour2 * k);
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1116: error:
          identifier "float3" is undefined
  float3 shadowOutputTemp = MainShadow(consts, input);
  ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1169: error: image
          types not support for the target hardware
  kernel void fractal3D(__global sClPixel *out, __global sClInBuff *inBuff, __constant sClInConstants *consts, __global sClReflect *reflectBuff, image2d_t imageBackground, int Gcl_offset)
                                                                                                                                                                          ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1197: error:
          identifier "float3" is undefined
  const float3 one = (float3) {1.0f, 0.0f, 0.0f};
        ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1197: error:
          identifier "float3" is undefined
  const float3 one = (float3) {1.0f, 0.0f, 0.0f};
                      ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1197: error: expected
          a ";"
  const float3 one = (float3) {1.0f, 0.0f, 0.0f};
                              ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1198: error: "float3"
          is not a type name
  const float3 ones = 1.0f;
        ^

"C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl", line 1201: 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};
  ^

Error limit reached.
100 errors detected in the compilation of "C:\Users\DellG\AppData\Local\Temp\OCL14A6.tmp.cl".
Compilation terminated.

Internal error: clc compiler invocation failed.



Title: Re: Mandelbulber 1.21
Post by: lycium on February 06, 2014, 03:46:22 AM
mclarekin you should update your display drivers if possible; float3 vectors are introduced with opencl 1.1 or 1.2, for which there should be newer drivers available.


Title: Re: Mandelbulber 1.21
Post by: Syntopia on February 06, 2014, 07:40:19 PM
Hi, I tried to download latest version (1.21-1) and got the following error:
Code:
OpenCL Build log:       :45:46: error: cannot increment value of type 'float'
                for(float angle = 0; angle < quality; angle++)
                                                      ~~~~~^
It works if I change (cl_SSAO.cl) to "angle+=1.0f"      

Also, it seems if I am running OpenGL software when starting Mandelbulber, it cannot create an OpenCL context and crashes (an error -2, I think).


Title: Re: Mandelbulber 1.21
Post by: quaz0r on February 06, 2014, 07:48:29 PM
Hi, I tried to download latest version (1.21-1) and got the following error:
Code:
OpenCL Build log:       :45:46: error: cannot increment value of type 'float'
                for(float angle = 0; angle < quality; angle++)
                                                      ~~~~~^
It works if I change (cl_SSAO.cl) to "angle+=1.0f"      

That change to cl_SSAO.cl was supposed to be included in 1.21-1.  Either your install failed to update that file or buddhi failed to include it in the installer.


Title: Re: Mandelbulber 1.21
Post by: Syntopia on February 06, 2014, 08:02:51 PM
That change to cl_SSAO.cl was supposed to be included in 1.21-1.  Either your install failed to update that file or buddhi failed to include it in the installer.

Just deleted and reinstalled 1.21-1. It still fails to compile (exe/dlls are dated 05/02, OpenCL code from 02/02). README says 'MANDELBULBER 1.21-1'

Another thing: I have an CPU Intel OpenCL 1.2 runtime. I can see there is an option for toggling CPU OpenCL now. I had to toggle it on and off a few times to get Mandelbulber to change to CPU, but when it recognized the CPU platform, it gave the following error
Code:
OpenCL Build log:	Compilation started
:323:10: error: cannot combine with previous 'type-name' declaration specifier
:323:15: error: expected identifier or '('
:324:8: error: expected identifier or '('
:325:32: error: expected expression
Compilation failed

It is possible to run Mandelbulber on CPU OpenCL implementations?
                               
               


Title: Re: Mandelbulber 1.21
Post by: quaz0r on February 06, 2014, 08:09:41 PM
by cpu opencl implementation do you mean to say using the integrated intel graphics processor?


Title: Re: Mandelbulber 1.21
Post by: Syntopia on February 06, 2014, 08:18:34 PM
by cpu opencl implementation do you mean to say using the integrated intel graphics processor?

OpenCL is a parallellization API for both CPU and GPU. AMD and Intel both provide implementations.


Title: Re: Mandelbulber 1.21
Post by: quaz0r on February 06, 2014, 08:22:21 PM
yeah, just making sure what you meant. i havent tried that myself.


Title: Re: Mandelbulber 1.21
Post by: Buddhi on February 06, 2014, 08:42:28 PM
That change to cl_SSAO.cl was supposed to be included in 1.21-1.  Either your install failed to update that file or buddhi failed to include it in the installer.

I was too hurry yesterday and I put wrong file into package. Within 15 minutes will be corrected installers on SourceForge


Title: Re: Mandelbulber 1.21
Post by: Buddhi on February 06, 2014, 08:59:00 PM
Now there are proper files in the installers. I apologize for the mess. Tomorrow I'm flying to Turkey and I had limited time to fix bugs in the code and release the program.

Just deleted and reinstalled 1.21-1. It still fails to compile (exe/dlls are dated 05/02, OpenCL code from 02/02). README says 'MANDELBULBER 1.21-1'
Another thing: I have an CPU Intel OpenCL 1.2 runtime. I can see there is an option for toggling CPU OpenCL now. I had to toggle it on and off a few times to get Mandelbulber to change to CPU, but when it recognized the CPU platform, it gave the following error
Code:
OpenCL Build log:	Compilation started
:323:10: error: cannot combine with previous 'type-name' declaration specifier
:323:15: error: expected identifier or '('
:324:8: error: expected identifier or '('
:325:32: error: expected expression
Compilation failed
It is possible to run Mandelbulber on CPU OpenCL implementations?
About running Mandelbulber with CPU OpenCL I tested in with AMD drivers. It works very well. However with nVidia drivers it doesn't work at all.
Which kernel gives this error? "fast" or "full"?


Title: Re: Mandelbulber 1.21
Post by: Syntopia on February 06, 2014, 09:14:06 PM
Now there are proper files in the installers. I apologize for the mess. Tomorrow I'm flying to Turkey and I had limited time to fix bugs in the code and release the program.
About running Mandelbulber with CPU OpenCL I tested in with AMD drivers. It works very well. However with nVidia drivers it doesn't work at all.
Which kernel gives this error? "fast" or "full"?

"Fast". The Intel OpenCL CPU runtime is not related to the nVidia drivers - it is a standalone install from http://software.intel.com/en-us/vcsource/tools/opencl-sdk (for Intel Core processors only). I'll try the AMD CPU thing (from the APP SDK) and see if it works on an Intel CPU.


Title: Re: Mandelbulber 1.21
Post by: Syntopia on February 06, 2014, 09:47:24 PM
I managed to get the Intel OpenCL CPU implementation to work. The problem was the use of 'half' (which is an OpenCL type) as a variable name. Changing this to something else worked, e.g.:
Code:
float3 halfX = lightVector - viewVector;
halfX = fast_normalize(halfX);
float specular = dot(normal, halfX);

Weirdly, the image had a few pixel artifacts, not present in the GPU render.


Title: Re: Mandelbulber 1.21
Post by: mclarekin on February 07, 2014, 12:58:03 AM
Just installed today version of 1.21-1 64bit and got the same issue as yesterday with the float3 thing pretending not to be recognised, but I ignore it and click enable a second time and all is sweet. The very minor point being that with 1.20 64bit this didn't happen.

I run CPU openCL on Intel i3 processor with the AMD SPK driver  thingy and so far all is good, no other issues at all.


Title: Re: Mandelbulber 1.21
Post by: lukesleftleg on February 07, 2014, 08:47:07 PM
Just to say that 1.21-1 seems to work just fine on my nvidia machine, and those OpenCL renders with SSAO just put my previous renders to shame. :)

Anyway, thanks again for another great version of a great fractal renderer.


Title: Re: Mandelbulber 1.21
Post by: JohnVV on February 09, 2014, 11:03:24 AM
mandelbulber-opencl-1.21.orig

on Linux 64bit ( openSUSE 12.3 ) , Nvidia 331 .run driver (libnvidia-opencl.so.331.38 ) OpenCL headers-1.2-8.1
builds but DOSE NOT link
headers -- VS. -- libnvidia-opencl.so.331.38 mix up

with a bunch of
undefined reference to `clReleaseContext'
undefined references to `clGetDeviceInfo'
undefined reference to `clGetPlatformIDs'
--- and so on

it starts in render3d.cpp
Code:
 
Building target: mandelbulber-opencl
Invoking: GCC C++ Linker
g++ -o"mandelbulber-opencl" -L/usr/lib/x86_64-linux-gnu/     ./src/Render3D.o ./src/algebra.o ./src/callbacks.o ./src/cimage.o ./src/common_math.o ./src/database.o ./src/files.o ./src/fractal.o ./src/image.o ./src/interface.o ./src/morph.o ./src/primitives.o ./src/settings.o ./src/shaders.o ./src/texture.o ./src/timeline.o ./src/undo.o ./src/cl_support.o ./src/netrender.o  -lgthread-2.0 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lrt -lpng -lOpenCL -ljpeg
./src/Render3D.o: In function `cl::CommandQueue::~CommandQueue()':
Render3D.cpp:(.text._ZN2cl12CommandQueueD2Ev[_ZN2cl12CommandQueueD5Ev]+0x9): undefined reference to `clReleaseCommandQueue'
./src/Render3D.o: In function `cl::Context::~Context()':
Render3D.cpp:(.text._ZN2cl7ContextD2Ev[_ZN2cl7ContextD5Ev]+0x9): undefined reference to `clReleaseContext'
./src/cl_support.o: In function `CclSupport::Disable()':

---- a lot more ------

using the opencl 1 headers ( from cuda 5.5 )it dose not even get this far
it errors out on making the render3d.o


--- UPDATE

however it WILL link if the AMD openCL lib and headers are used
from
http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/



Title: Re: Mandelbulber 1.21
Post by: quaz0r on February 09, 2014, 01:59:10 PM
ive never installed cuda sdk or anything, just the regular nvidia drivers installs opencl stuff that works. i was using 331 also, just installed 334 and that works also.


Title: Re: Mandelbulber 1.21
Post by: joe on February 18, 2014, 03:47:13 PM
1.21 GIGAWATTS!!


Title: Re: Mandelbulber 1.21
Post by: mclarekin on March 04, 2014, 02:13:05 AM
Windows openCL GPU timeout problem

A while back Syntopia alerted me to TDR issues with Windows OS.

So recently I followed his link

http://msdn.microsoft.com/en-us/library/windows/hardware/ff569918(v=vs.85).aspx


then without any real knowledge of what I was doing I created the TDR registry keys and increased the defaults as follows:

TdrDdiDelay REG_DWORD  and set it to 60 seconds
TdrDelay REG_DWORD  and set it to 30 seconds
TdrLimitTime REG_DWORD  and set it to 240 seconds

and now I can use openCL on a  Radeon HD7660D GPU in a WIN7 64 environment without the GPU driver crashing and resetting (this mainly used to happen if I tried to use volumetric light)

A big thank you to Syntopia :) :) :)

I did wonder if I should use REG_QWORD for seen I was using 64bit OS???





Title: Re: Mandelbulber 1.21
Post by: visual.bermarte on March 18, 2014, 05:37:27 PM
(http://fc05.deviantart.net/fs70/i/2014/077/4/7/testing_mandelbulber_with_opencl_by_bermarte-d7aonk1.png)
mandelbulber for mac, openCL CPU rendering
tested on

Intel(R) Core(TM)2 Duo CPU P7550 @ 2.26GHz
VERSION: OpenCL 1.2
DRIVER_VERSION: 1.1
GeForce 9400M
DRIVER_VERSION: 8.24.11 310.90.9b01
VERSION: OpenCL 1.0
***************
Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz
VERSION: OpenCL 1.2
DRIVER_VERSION: 1.1
GeForce 8600M GT
DRIVER_VERSION: CLH 1.0
VERSION: OpenCL 1.0
***************
I still need to do tests on AMD-Intel GPUs; I have used temporary variables on rotations to have kernels that are more digestible and I need to do some minor changes.
I think Mavericks handles the whole openCL's affair better than previous OSXs, but, alas, I don't have a fully openCL 1.2 compatible GPU. No openCL 1.2 for Nvidia neither, only for Intel and AMD.


Title: Re: Mandelbulber 1.21
Post by: visual.bermarte on March 18, 2014, 05:56:35 PM
And these two are done with mandelbulber 1.21 but without openCL; thanks to Furan.
(http://fc00.deviantart.net/fs71/i/2014/072/a/1/eple_by_bermarte-d79ele0.png)
pole dance  ;D
(http://fc07.deviantart.net/fs70/f/2014/056/c/4/pole_dance_by_bermarte-d77zrap.png)


Title: Re: Mandelbulber 1.21
Post by: Buddhi on March 18, 2014, 07:35:15 PM
Thanks bermarte for update. Many people waits for OSX version.
About OpenCL, version 1.1 is enough. The program doesn't use any OpenCL 1.2 extensions.


Title: Re: Mandelbulber 1.21
Post by: Deagol on March 31, 2014, 11:05:37 PM
Hi,
i'm trying to get Mandelbulber 1.21 with OpenCL to work on my Linux Mint mashine.
My package-manager tells me i have OpenCL 1.2 installed.
But that doesn't stop it from crashing with the following console output when I enable OpenCL and start rendering any Image:
Quote
************ Rendering frames *************
OpenCL rendering
OpenCL Platform number is: 1
OpenCL Platform is by: NVIDIA Corporation
nVidia OpenCL library is detected
OpenCL contexts created
OpenCL Number of compute units: 7
OpenCL Max work item dimmensions: 3
OpenCL Max work group size: 1024
OpenCL Max clock frequency  1620 MHz
OpenCL Memory size  1023 MB
OpenCL Max size of memory object allocation 255 MB
OpenCL Max constant buffer size  64 kB
OpenCL Constant buffer used  2 kB
OpenCL progHeader: #define INCLUDE_PATH_CL_DATA "/usr/share/mandelbulber/cl/mandelbulber_cl_data.h"
OpenCL Number of loaded sources 9
OpenCL build params:-w -cl-single-precision-constant -cl-denorms-are-zero
OpenCL Build log:   

OpenCL program built done
OpenCL kernel opened
OpenCL workgroup size: 512
OpenCL Job size: 3584
OpenCL buffers created
OpenCL command queue prepared
OpenCL Build log:   

OpenCL SSAO program built done
OpenCL SSAO kernel opened
OpenCL SSAO command queue prepared
OpenCL Build log:   

OpenCL DOF program built done
OpenCL DOF kernel opened
OpenCL DOF command queue prepared
mandelbulber-opencl: relocation error: mandelbulber-opencl: symbol clCreateImage, version OPENCL_1.2 not defined in file libOpenCL.so.1 with link time reference
Any ideas how that could be resolved?  :hmh:


My graphics card is a Nvidia GeForce GTX 460  with "nvidia-304" driver enabled, in case that matters.


Title: Re: Mandelbulber 1.21
Post by: Buddhi on April 01, 2014, 06:10:08 PM
My graphics card is a Nvidia GeForce GTX 460  with "nvidia-304" driver enabled, in case that matters.

@Deagol, try to update nVidia drivers. nvidia-304 is quite old. Actual version is 331. Upgrade could help.


Title: Re: Mandelbulber 1.21
Post by: Deagol on April 02, 2014, 10:21:03 PM
Thanks for your reply.
I have updated the driver to 331.
But it still crashes with the exact same message :( :
Quote
mandelbulber-opencl: relocation error: mandelbulber-opencl: symbol clCreateImage, version OPENCL_1.2 not defined in file libOpenCL.so.1 with link time reference


Title: Re: Mandelbulber 1.21
Post by: Buddhi on April 03, 2014, 06:06:05 AM
Thanks for your reply.
I have updated the driver to 331.
But it still crashes with the exact same message :( :

Was this program, which you are testing, compiled by yourself? Or did you got from somewhere already compiled version. I'm asking because if you compile the program on your system where you have nVidia version of OpnCL lib then it should not ask about any version 2.0 functions (especially during run time)


Title: Re: Mandelbulber 1.21
Post by: Deagol on April 03, 2014, 02:50:09 PM
Yes i compiled it myself.
But now that you ask, there were a few obstacles (recreated the scenario to document it here):
On the first time i tried to make it:
Quote
/usr/include/CL/cl.hpp:176:19: fatal error: GL/gl.h: No such file or directory
 #include <GL/gl.h>
After i searched the Internet, i found out, a package named "mesa-common-dev" delivers gl.h. So i installed it and i could compile mandelbuler-opencl without any complaints.
Then i installed it and ran it.
But now it crashes if i want to check the "OpenCl Enable" checkbox. :
Code:
Can't open application settings file: mandelbulber_ocl_settings
Will be used default settings
ERROR: cl::Platform::get (-1)
Custom formulas path: /home/gerrit/.mandelbulber/custom_ocl_formulas
ERROR: Can't open file:cl_engine_fast.cl (-1)
Rendering terminated
Quitting
I sadly forgot what i did to make that checkbox at least checkable.
Is it until here ok?
Again thanks for your efforts  :embarrass:


Title: Re: Mandelbulber 1.21
Post by: Buddhi on April 03, 2014, 07:18:33 PM
Error:
Quote
ERROR: cl::Platform::get (-1)
means that the program can't initialize OpenCL lib at all. Check maybe you changed device type, platform index or device index parameters. If not, there is still some problem with OpenCL driver.
Check also if you have any file in /etc/OpenCL/vendors


Title: Re: Mandelbulber 1.21
Post by: Deagol on April 03, 2014, 08:52:51 PM
Ok i guess we are getting closer.
I tried every combination of platform index and device index. Noting
But there doesn't seem to be a /etc/OpenCL directory, even though "opencl-headers", "ocl-icd-opencl-dev" and "ocl-icd-libopencl1" are installed.


Title: Re: Mandelbulber 1.21
Post by: Buddhi on April 03, 2014, 09:22:32 PM
Ok i guess we are getting closer.
I tried every combination of platform index and device index. Noting
But there doesn't seem to be a /etc/OpenCL directory, even though "opencl-headers", "ocl-icd-opencl-dev" and "ocl-icd-libopencl1" are installed.

Try to do what is described here (http://amaisu.com/AranHase/2013/08/linux-mint-15-and-opencl-nvidia/) at the end of text (how to create /etc/OpenCL/vendors file). About year ago I had the same problem after re-installation of graphics driver. This small file was also missing.


Title: Re: Mandelbulber 1.21
Post by: Deagol on April 04, 2014, 12:05:02 AM
Yay thanks. At least that bit is fixed :D
Mandelbulber still doesn't work for me though
Quote
OpenCL SSAO program built done
OpenCL SSAO kernel opened
OpenCL SSAO command queue prepared
OpenCL Build log:   

OpenCL DOF program built done
OpenCL DOF kernel opened
OpenCL DOF command queue prepared
Segmentation fault