Buddhi
|
|
« on: October 15, 2013, 10:01:22 PM » |
|
Mandelbulber 1.18Open 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.18:- added 3D pointer in image preview window - added showing of animation path in image preview window - OpenCL - improved rendering performance of DOF - iteration loop moved out of OpenCL kernel - OpenCL - image buffer changer to float type - possible to adjust image brightness and gamma after rendering - OpenCL - implemented full Mandelbox formula - OpenCL - used CLEW for dynamic loading of OpenCL.dll (thanks Quazgaa for help) - fixed bug: lights were placed in wrong position on fish-eye mode - fixed bug: OpenCL - under Windows with nVidia gfx card the program couldn't find mandelbulber_cl_data.h file - fixed bug: OpenCL - main volumetric light wasn't rendered when no aux lights were enabled - fixed bug: OpenCL - wrong calculation of focus point for DOF - fixed bug: OpenCL - reduced noise on depth zooms - limited "delta" from very small values - fixed bug: OpenCL - program crashed on machines with low memory - added calculation of maximum queue size SVN repository: http://mandelbulber.googlecode.com/svn/trunk/This repository is available from Google Code: http://code.google.com/p/mandelbulber/
|
|
|
Logged
|
|
|
|
taurus
|
|
« Reply #1 on: October 16, 2013, 12:23:57 AM » |
|
Great thing Budhi! But I first finish my pending Animation on 1.17-2, cause I need the result until Friday Looking forward to testing it ASAP edit> what does OpenCL - implemented full Mandelbox formula mean? My current animation looks quite full. Or do you mean that the coloring parameters are active too?
|
|
« Last Edit: October 16, 2013, 12:42:36 AM by taurus »
|
Logged
|
when life offers you a lemon, get yourself some salt and tequila!
|
|
|
KBeezie
|
|
« Reply #2 on: October 16, 2013, 12:46:06 AM » |
|
[code]:/
Was hoping it would fix OpenCL with my Nvidia GTX 260.
Moment I click Render (typing from the 'stopped'/crashed screen as it doesn't appear in log.txt)
[code] nVidia OpenCL Library is detected OpenCL contexts created OpenCL Number of compute units: 27 OpenCL Max work item dimensions: 3 OpenCL Max work group size: 512 OpenCL Max clock frequency 1350 Mhz OpenCL Memory size 0MB OpenCL Max size of memory object allocated 0MB OpenCL Constant buffer used 2 kB OpenCL Number of loaded sources 7 OpenCL build params:-w -D_SlowAOEnabled OpenCL build log:
OpenCL program built done OpenCL kernel opened OpenCL workgroup size: 384 OpenCL Job Size: 10368 reflectionBuffer size 9720 kb terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
This application has requested the Runtime to terminate in an unusual way. Please contact the application's support team for more information
Windows 7 Pro x64 SP1 Nvidia GTX 260 w/ 331.40 (896MB GDDR3) 4GB ram[/code][/code]
|
|
« Last Edit: October 16, 2013, 12:48:57 AM by KBeezie »
|
Logged
|
|
|
|
KBeezie
|
|
« Reply #3 on: October 16, 2013, 12:52:23 AM » |
|
PS: What I'm confused by is why is it reporting GPU Memory as 0MB.
2 things:
1) I'm backing down to 327.23 on the nvidia drivers (latest 'stable') with a clean install and will try again 2) earlier if I rendered the default project without openCL then turned on OpenCL-fast and hit render again It'd work But if I change some options then try to render again the program would immediately die/quit.
|
|
« Last Edit: October 16, 2013, 12:57:38 AM by KBeezie, Reason: Additional information. »
|
Logged
|
|
|
|
KBeezie
|
|
« Reply #4 on: October 16, 2013, 01:23:43 AM » |
|
So far problem is I'm not getting expected results with OpenCL. No OpenCL Enabled : OpenCL - Normal Enabled: OpenCL - Full Enabled : Causes the display to go black, app crashes and a popup notification stating the Nvidia driver has crashed. I'm getting basically the same with other formulas (ie: the OCL result is either just a mesh of colors as if too close or way different than the perceived scene). Thus far my results has been about 10% of the time something actually getting rendered normally, or the program crashes or shows a drastically different output.
|
|
« Last Edit: October 16, 2013, 01:29:25 AM by KBeezie »
|
Logged
|
|
|
|
Buddhi
|
|
« Reply #5 on: October 16, 2013, 07:14:52 AM » |
|
edit> what does mean?
There are implemented also rotations for each axis. First it inculed only main rotation. So now on CPU and GPU Mandelbox look rhe same.
|
|
|
Logged
|
|
|
|
lukesleftleg
|
|
« Reply #6 on: October 16, 2013, 05:37:16 PM » |
|
Hi Buddhi. It works! And OMG it's so fast! Thank you very much indeed. Just a couple of small things. Firstly, I noticed that for the Tglad's Formula, the rotations are working fine, but the 'Spherical Folding Offset' doesn't seem to be switched on in OpenCL mode. There are implemented also rotations for each axis. First it inculed only main rotation. So now on CPU and GPU Mandelbox look rhe same.
But from the sound of this post, it seems like you might already have it covered. Also, the Fish Eye Lens and Equirectangular Projection don't seem to be working in OpenCL either, but again, please ignore me if you know about this already. These are just small niggles though. Mostly OH WOW! Thank you Buddhi. Oh yeah, and it's reporting my GPU Memory as being zero as well, but it seems to work fine otherwise. (Windows 7 32 bit, Nvidia 550 ti).
|
|
|
Logged
|
|
|
|
Buddhi
|
|
« Reply #7 on: October 16, 2013, 06:35:10 PM » |
|
Mandelbulber 1.18 - Win64 - OpenCL now is availabledownload site as usual: http://sourceforge.net/projects/mandelbulber/files/?Many thanks to Quazgaa for compilation Remark: NetRender doesn't work in this version (there is some problem with WinSock under Win64)
|
|
|
Logged
|
|
|
|
Buddhi
|
|
« Reply #8 on: October 16, 2013, 06:58:59 PM » |
|
Was hoping it would fix OpenCL with my Nvidia GTX 260. Moment I click Render (typing from the 'stopped'/crashed screen as it doesn't appear in log.txt)
There was bad_alloc() error. What was image resolution in this trial? 2) earlier if I rendered the default project without openCL then turned on OpenCL-fast and hit render again It'd work But if I change some options then try to render again the program would immediately die/quit.
Can you run the program from command line to see what errors are in those cases? So far problem is I'm not getting expected results with OpenCL. OpenCL - Full Enabled : Causes the display to go black, app crashes and a popup notification stating the Nvidia driver has crashed. I'm getting basically the same with other formulas (ie: the OCL result is either just a mesh of colors as if too close or way different than the perceived scene). Thus far my results has been about 10% of the time something actually getting rendered normally, or the program crashes or shows a drastically different output.
If you render default.fract (default Mandelbulb) with "Full: All Shaders" mode do get the same problem (black display, driver crash...)? Maximum zoom with OpenCL is much lower because it works on single precision floating point numbers. That's why you get "mesh of colors" when camera is too close. Not all fractal formulas are already implemented in OpenCL kernels. I suppose that's why you get different results with OCL than with CPU. Camera view can also looks different if you use "fast" and "normal" mode. It is because in those modes works only 3-point perspective. In "full" mode camera will be the same (all perspectives are implemented) Firstly, I noticed that for the Tglad's Formula, the rotations are working fine, but the 'Spherical Folding Offset' doesn't seem to be switched on in OpenCL mode.
You are right. I forgot to implement it. It will be in next version. Also, the Fish Eye Lens and Equirectangular Projection don't seem to be working in OpenCL either, but again, please ignore me if you know about this already.
It works in OpenCL but only in "Full: All shaders" mode Oh yeah, and it's reporting my GPU Memory as being zero as well, but it seems to work fine otherwise.
It doesn't show amount of GPU memory because of some bug in OpenCL librarry (windows 32-bit version). But the application can work without this information. Only problem is that it can't adapt maximum OpenCL queue size according to avail memory. It could be a problem with older gfx card with less memory. The program could report "lack of resources". Thanks for reports!
|
|
|
Logged
|
|
|
|
KBeezie
|
|
« Reply #9 on: October 17, 2013, 05:16:59 AM » |
|
There was bad_alloc() error. What was image resolution in this trial?
In testing never more than 960x720, some at smaller like 512x512 just to test. In fact I don't think I've tried a single OCL render higher than this yet. And I noticed that with some of the formulas that do show up, the program will crash on the 3rd time or so I render (like if I pan the camera somewhere else, then re-render). Can you run the program from command line to see what errors are in those cases?
Maybe I missed it in the readme, but is there command line options specific to turning on opencl ? or is the mandelbulber-opencl when executed via CLI on windows automatically going to utilize OpenCL? (or is it settings file specific, ie: I turn it on, then save the settings). If you render default.fract (default Mandelbulb) with "Full: All Shaders" mode do get the same problem (black display, driver crash...)? Maximum zoom with OpenCL is much lower because it works on single precision floating point numbers. That's why you get "mesh of colors" when camera is too close.
Not all fractal formulas are already implemented in OpenCL kernels. I suppose that's why you get different results with OCL than with CPU. Camera view can also looks different if you use "fast" and "normal" mode. It is because in those modes works only 3-point perspective. In "full" mode camera will be the same (all perspectives are implemented) ...
Is there a list hiding somewhere on which formulas are provided and which are not? Also I Don't know if it's been mentioned or not, the GTX260 is one of the GPUs that supports OpenCL 1.1 (but guess they don't do 1.2 yet)? Because when I tick the checkbox for OpenCL + Full then save a setting, it doesn't seem to be reflected : C:\Program Files (x86)\Mandelbulber>mandelbulber-opencl.exe -nogui -format png16 alpha C:\Users\kbeezie\mandelbulber\settings\default_cl Log file: log.txt commandline: no GUI mode commandline: PNG 16-bit with alpha channel image format commandline: settings file: C:\Users\kbeezie\mandelbulber\settings\default_cl noGUI mode Detected 2 CPUs Memory allocated g_thread supported Default data directory: C:\Users\KBeezie/mandelbulber Undo status: count=98, last=598, level=598 Memory for image: 14 MB Memory for image reallocated Lights placed ************ Rendering frames ************* Output file (images/image00000.png) exists. Skip to next file index Output file (images/image00001.png) exists. Skip to next file index Output file (images/image00002.png) exists. Skip to next file index Output file (images/image00003.png) exists. Skip to next file index Output file (images/image00004.png) exists. Skip to next file index Output file (images/image00005.png) exists. Skip to next file index Average N = 2.298124, Average DE steps = 30.659394, Missed DE 0.012% Done 100.000%, to go = 0h0m0s, elapsed = 0h0m24s, iters/s = 1710341 Rendering Screen Space Ambient Occlusion. Done 100% Image saved: images/image00006.png Rendering finished
and the help output from the CLI doesn't show any specific commands to enable OpenCL.
|
|
|
Logged
|
|
|
|
KBeezie
|
|
« Reply #10 on: October 17, 2013, 05:40:00 AM » |
|
By the way I found a pattern that I can report with the default mandy render with OpenCL full.
Ray-trace enabled - no crash Ambient Occlusion enabled (SlowAO) - no crash Ray-trace enabled AND SlowAO enabled - black screen driver crash.
(Still trying to find the command line to enable OpenCL via nogui haven't found it in forums or elsewhere).
By the way in testing one of my saved files with OpenCL full, I turned off ray traced, but still got the black screen and driver crash. Attached the settings file I used.
(Edit: in fact with that one in particular I could turn off all the shaders and it would still crash).
|
|
« Last Edit: October 17, 2013, 05:47:23 AM by KBeezie »
|
Logged
|
|
|
|
KBeezie
|
|
« Reply #11 on: October 17, 2013, 05:50:31 AM » |
|
This one also black-screen crashed on me (From one of the examples). (snapped a screenshot right before it crashed but I don't think it has anything useful there).
Some other example would be Open up Mandelbulb with Backlight, OpenCL - Full, renders normal with default settings, but if you turn off AO completely then add in a raytrace 0.5 reflection it'll black screen crash.
|
|
« Last Edit: October 17, 2013, 05:55:36 AM by KBeezie »
|
Logged
|
|
|
|
lukesleftleg
|
|
« Reply #12 on: October 18, 2013, 09:32:48 AM » |
|
I've got to say Buddhi, I'm falling in love with your program all over again. I wish I knew some C++. Maybe I should get around to learning it. Anyway, I forgot to mention, I really like the new animation path view, and the new cursor (although I'm still working out how to use the cursor). I was also going to ask for some sort of crosshair to mark the centre of the image, but I see that you've implemented one. Thanks very much for these. They're great! Re the Fish Eye/Equirectangular thing; It works in OpenCL but only in "Full: All shaders" mode Yep, found it, that's brilliant. Thank you. I was wondering though, would it be possible to have these enabled at least just in "Normal: shadows, glow, fast AO" mode too please? It's not a priority, but it's very nice to have it for planning animations. And thanks for sorting out the Spherical Offsets in the next version. I really want my next reasonable-sized project to involve these. I noticed that the "Textured background" doesn't seem to work yet in OpenCL mode. Don't worry if you know about this already, but I thought I'd better just point it out, just in case you don't. This new version is amazing though Buddhi! Thank you very much for all your hard work. As long as you don't try to go too deep, some of these OpenCL renders are good enough to use in their own animation. I thought I'd be using OpenCL mode for planning and previewing only. I'd say that the future of Mandelbulber is looking very bright indeed.
|
|
|
Logged
|
|
|
|
lukesleftleg
|
|
« Reply #13 on: October 19, 2013, 05:23:31 PM » |
|
Ok, I just had to show you this.
http://www.youtube.com/v/uCiT980RNOA&rel=1&fs=1&hd=1It's nothing particularly special in terms of anything clever animation-wise, but what is special about it is the fact that it rendered overnight, and still looks pretty decent. Ok, let me say that again. That's 1800 frames, rendered at 2560x1440 (and then reduced to 720p for AA), on a not-bad-but-starting-to-show-its-age computer, and ok, it took some of yesterday evening and most of this morning too if I'm honest, but that's still quite an improvement on the nearly-a-month that it took my last animation. So that's me all happy.
|
|
|
Logged
|
|
|
|
Nahee_Enterprises
|
|
« Reply #14 on: October 19, 2013, 05:33:41 PM » |
|
Ok, I just had to show you this. http: //www.youtube.com/watch?v=uCiT980RNOA&vq=hd720 It's nothing particularly special in terms of anything clever animation-wise, but what is special about it is the fact that it rendered overnight, and still looks pretty decent. Ok, let me say that again. That's 1800 frames, rendered at 2560x1440 (and then reduced to 720p for AA), on a not-bad-but-starting-to-show-its-age computer, and ok, it took some of yesterday evening and most of this morning too if I'm honest, but that's still quite an improvement on the nearly-a-month that it took my last animation. So that's me all happy. Yes, things are getting faster these days!!! Better software, better use of hardware (CPU/GPU), better machines, etc... Soon we all will be able to explore interactively the same areas that it takes us hours and days to produce for a short video.
|
|
|
Logged
|
|
|
|
|