Buddhi
|
|
« on: December 28, 2013, 09:34:31 AM » |
|
Mandelbulber 1.20Open 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_ManualNew 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
|
|
« 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.
|
|
« Last Edit: December 29, 2013, 07:22:20 AM by mclarekin, Reason: read to use custom formulas instead of hybrids »
|
Logged
|
|
|
|
mclarekin
|
|
« 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;
|
|
|
Logged
|
|
|
|
Buddhi
|
|
« 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: if (rr < mr2) m = native_divide(scale, mr2); else if (rr < fr2) m = native_divide(scale,rr); should be: 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
|
|
« 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 rather than waiting for the next version release. 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
|
|
« 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
|
|
« Reply #6 on: January 01, 2014, 07:00:47 PM » |
|
|
|
|
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: ^
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
|
|
« 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
|
|
« Reply #11 on: January 02, 2014, 09:42:34 AM » |
|
|
|
|
Logged
|
|
|
|
Buddhi
|
|
« 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
|
|
|
Logged
|
|
|
|
Buddhi
|
|
« 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. 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 Regards R-TEAM
|
|
|
Logged
|
|
|
|
|